Re: [Summary] Monitor Extension Functionality How to create a new monitor extension

2008-06-16 Thread Raymond Feng

Hi,

Can we create a wiki page to post these information?

Thanks,
Raymond
--
From: Ramkumar R [EMAIL PROTECTED]
Sent: Monday, June 16, 2008 3:47 AM
To: tuscany-dev@ws.apache.org
Subject: [Summary] Monitor Extension Functionality  How to create a new 
monitor extension


Here is the brief summary on the monitor extensions, please review the 
same

and post your comments and suggestions on the same. This would help us for
the documentation.
**
*Need for Monitor Extension:*
**The need for monitor extension came as a requirement, to have a 
customized
exception handling on Tuscany runtime especially when the user input 
errors

are determined while reading, resolving and building phase of the
contribution within the Tuscany runtime. Here different users/vendors 
using

Tuscany with their products wanted to ignore some of the user input errors
and allow the runtime to proceed further, while the others wanted to stop
processing when a error is determined at the end of each phase.



Another important need for a monitor extension is to validate the user
inputs (via contributions) and report all the issues identified in one go
(Example: As how the java compiler does for java code).

* *
*How monitor extension is applied to the current code:*
Currently monitors are introduced into various part of the code, where we 
do
a validation for user input at different phases while reading, resolving 
and

building the contribution.
**

**

1. Errors and warnings are logged with the monitor as problems and the
processing
continues. Exceptions won't be thrown, where ever possible. Processing 
here

covers any processing of user input, i.e. contributions and the artifacts
they contain.



2. After each phase namely read, resolve and build contribution, the 
problems
are read from the monitor for display to the user (currently this will 
have
already happened as our current monitor will just log errors and warnings 
as

it receives them but you can imagine more capable monitors).



3. The controlling logic may look at the errors and warnings it is 
reporting

to the user and prevent further processing occurring. Or it may allow
processing
to continue. This  depends on which bit of processing we are talking about
and what errors have been reported.

* *

*How to initialize the monitor from the core runtime:*

Monitors are initialized in the core runtime using the utility extensions 
as

shown below.



UtilityExtensionPoint utilities = extensionPoints.getExtensionPoint(
UtilityExtensionPoint.*class*);

MonitorFactory monitorFactory = 
utilities.*getUtility*(MonitorFactory.*class

*);

monitor = monitorFactory.createMonitor();



* *

*Creating a Monitor Extension:*

* *

*NOTE: *Please have a look at the interface design of Monitor, Problem and
MonitorFactory from monitor module in the Tuscany source code.**

* *

*Step 1:  *Create a class MyMonitorImpl.java which implements the Monitor
interface.



*public* *class* MyMonitorImpl* implements* Monitor {

   *private* *static* *final* Logger *logger* = Logger.*getLogger*(
MyMonitorImpl.*class*.getName());



   // Cache all the problem reported to monitor for further analysis

   *private* ListProblem problemCache = *new* ArrayListProblem();



   *public* *void* problem(Problem problem) {

   // Your custom code to handle the problem

   }

}**

**
**
In this code, we keep a cache of all the problems reported via the monitor
to allow the controlling logic to decide if the processing should continue
or not.
* *

*Step 2: *Create a class MyMonitorFactoryImpl.java which implements
the MonitorFactory
interface.



*public* *class* MyMonitorFactoryImpl* implements* MonitorFactory {



   *private* Monitor monitor = *null*;



   *public* Monitor createMonitor() {

   *if* (monitor == *null*){

   monitor = *new* MyMonitorImpl();

   }

   *return* monitor ;

   }

}





*Step 3: *Create a plain text file named as META-
INF/services/org.apache.tuscany.sca.monitor.MonitorFactory


Register the extension by adding a line in this file as shown below….
org.apache.tuscany.sca.monitor.impl.MyMonitorFactoryImpl

--
Thanks  Regards,
Ramkumar Ramalingam



Re: Top-down build failing with java.lang.OutOfMemoryError

2008-06-16 Thread Raymond Feng

Hi,

You are setting to the wrong option. Please use the following:

MAVEN_OPTS=-XX:MaxPermSize=384m

Thanks,
Raymond

--
From: Luciano Resende [EMAIL PROTECTED]
Sent: Monday, June 16, 2008 11:09 AM
To: tuscany-dev tuscany-dev@ws.apache.org
Cc: [EMAIL PROTECTED]
Subject: Top-down build failing with java.lang.OutOfMemoryError


Is anyone seeing something simmilar as below when trying to run a
top-down build for SCA ?
I'm using red-hat linux and have set MAVEN_OPTS as MAVEN_OPTS=-Xmx1536m
Below is the error I get :


Failure executing javac, but could not parse the error:


The system is out of resources.
Consult the following stack trace for details.
java.lang.OutOfMemoryError: PermGen space
   at java.lang.ClassLoader.defineClass2(Native Method)
   at java.lang.ClassLoader.defineClass(ClassLoader.java:719)
   at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:160)

   at java.net.URLClassLoader.defineClass(URLClassLoader.java:254)
   at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
   at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
   at 
org.codehaus.plexus.compiler.javac.IsolatedClassLoader.loadClass(IsolatedClassLoader.java:56)

   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
   at com.sun.tools.javac.parser.Keywords.init(Keywords.java:75)
   at com.sun.tools.javac.parser.Keywords.instance(Keywords.java:33)
   at com.sun.tools.javac.parser.Parser$Factory.init(Parser.java:64)
   at 
com.sun.tools.javac.parser.Parser$Factory.instance(Parser.java:47)
   at 
com.sun.tools.javac.main.JavaCompiler.init(JavaCompiler.java:136)
   at 
com.sun.tools.javac.main.JavaCompiler.instance(JavaCompiler.java:46)

   at com.sun.tools.javac.main.Main.compile(Main.java:589)
   at com.sun.tools.javac.main.Main.compile(Main.java:544)
   at com.sun.tools.javac.Main.compile(Main.java:85)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

   at java.lang.reflect.Method.invoke(Method.java:585)
   at 
org.codehaus.plexus.compiler.javac.JavacCompiler.compileInProcess(JavacCompiler.java:420)
   at 
org.codehaus.plexus.compiler.javac.JavacCompiler.compile(JavacCompiler.java:141)
   at 
org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:493)
   at 
org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:114)
   at 
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:447)
   at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:539)
   at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:480)
   at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:459)
   at 
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:311)




Failure executing javac, but could not parse the error:


The system is out of resources.
Consult the following stack trace for details.
java.lang.OutOfMemoryError: PermGen space
   at java.lang.ClassLoader.defineClass2(Native Method)
   at java.lang.ClassLoader.defineClass(ClassLoader.java:719)
   at 
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:160)

   at java.net.URLClassLoader.defineClass(URLClassLoader.java:254)
   at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
   at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
   at java.security.AccessController.doPrivileged(Native Method)
   at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
   at 
org.codehaus.plexus.compiler.javac.IsolatedClassLoader.loadClass(IsolatedClassLoader.java:56)

   at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
   at com.sun.tools.javac.parser.Keywords.init(Keywords.java:75)
   at com.sun.tools.javac.parser.Keywords.instance(Keywords.java:33)
   at com.sun.tools.javac.parser.Parser$Factory.init(Parser.java:64)
   at 
com.sun.tools.javac.parser.Parser$Factory.instance(Parser.java:47)
   at 
com.sun.tools.javac.main.JavaCompiler.init(JavaCompiler.java:136)
   at 
com.sun.tools.javac.main.JavaCompiler.instance(JavaCompiler.java:46)

   at com.sun.tools.javac.main.Main.compile(Main.java:589)
   at com.sun.tools.javac.main.Main.compile(Main.java:544)
   at com.sun.tools.javac.Main.compile(Main.java:85)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 

Re: com.example classes included in the databinding extension jars

2008-06-16 Thread Raymond Feng
I'll take a look. These sources are generated and supposed to be test 
sources.


Thanks,
Raymond

--
From: ant elder [EMAIL PROTECTED]
Sent: Monday, June 16, 2008 1:09 PM
To: tuscany-dev tuscany-dev@ws.apache.org
Subject: com.example classes included in the databinding extension jars

I'm having a lot of trouble getting the bundle jar to work in the 1.3 
branch

as databinding-jaxb and databinding-jaxb-axiom both include the class
com.example.ipo.jaxb.Address which causes the shade plugiin to fail with a
duplicate class exception. Can anyone see any way to either stop these
classes being included in the databinding jars, or to have the old shade
plugin filter them out (or get the new shade plugin to include all the 
other

dependencies)? Or if not how about moving the unit tests out into an itest
so the classes don't get included?

  ...ant



Re: com.example classes included in the databinding extension jars

2008-06-16 Thread Raymond Feng
I committed a fix into trunk under r668298. Please go ahead to create a JIRA 
and use it to merge the fix into 1.3 branch.


Thanks,
Raymond

--
From: ant elder [EMAIL PROTECTED]
Sent: Monday, June 16, 2008 1:09 PM
To: tuscany-dev tuscany-dev@ws.apache.org
Subject: com.example classes included in the databinding extension jars

I'm having a lot of trouble getting the bundle jar to work in the 1.3 
branch

as databinding-jaxb and databinding-jaxb-axiom both include the class
com.example.ipo.jaxb.Address which causes the shade plugiin to fail with a
duplicate class exception. Can anyone see any way to either stop these
classes being included in the databinding jars, or to have the old shade
plugin filter them out (or get the new shade plugin to include all the 
other

dependencies)? Or if not how about moving the unit tests out into an itest
so the classes don't get included?

  ...ant



Re: IMPORTANT: TLP SVN move tonight

2008-06-16 Thread Raymond Feng
Thanks for the update. What about our web site? Is it going to be hosted at 
http://tuscany.apache.org soon?


Raymond
--
From: ant elder [EMAIL PROTECTED]
Sent: Monday, June 16, 2008 3:06 PM
To: tuscany-dev tuscany-dev@ws.apache.org
Subject: IMPORTANT: TLP SVN move tonight


The Tuscany SVN should be moving to the TLP location tonight so
everyone will need to switch to the new location, which will be
https://svn.apache.org/repos/asf/tuscany.

You can change your local copy with svn switch --relocate.

  ...ant 




Re: GSoC Project - CORBA Support for Apache Tuscany

2008-06-16 Thread Raymond Feng

Please see my comments inline.

Thanks,
Raymond

--
From: Wojtek Janiszewski [EMAIL PROTECTED]
Sent: Thursday, June 12, 2008 2:39 AM
To: tuscany-dev@ws.apache.org
Subject: Re: GSoC Project - CORBA Support for Apache Tuscany


Hi, Raymond.
Please take a look at my comments inline.
Thanks, Wojtek

Raymond Feng wrote:

Hi, Wojtek.

Please see my comments inline.

Thanks,
Raymond
--
From: Wojtek Janiszewski [EMAIL PROTECTED]
Sent: Wednesday, June 11, 2008 11:55 AM
To: tuscany-dev@ws.apache.org
Subject: Re: GSoC Project - CORBA Support for Apache Tuscany


Example 1.
Java interface for TestObject implements TestObjectOperations,
org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity. This means that
user should define this interface using CORBA API types. This is what
you mean?


To access an existing CORBA service with general_tests.idl, I should be 
able to use TestObject interface generated from the IDL in my SCA 
reference with binding.corba. The CORBA reference binding invoker should 
be able to marshal/marshal the data from the interface.


What's the use case for reference binding using Java interface? Is it
a) user generates classes from IDL file and uses them in binding 
configuration
b) user creates classes basing on IDL file (without extending or 
implementing any types from CORBA API) and uses them in binding 
configuration


I was following case b) from the beginning. Now I'm little confused.


I think we should support both cases. For case b), the java types have to be 
mappable to IDL types based on the Java IDL mapping spec.






Another case is that Java2IDL compliant java interface (for example, the 
remote interfaces for EJB). We already have support in the binding.ejb 
module.




Example 2.
Operation:
SomeStruct setStruct(inout SomeStruct arg)
for interface TestObject uses SomeStructHolder (for passing INOUT 
argument) which implements
org.omg.CORBA.portable.Streamable. SomeStructHolder contains SomeStruct 
as a structure representation. Again, SomeStruct uses CORBA API 
interface - it implements org.omg.CORBA.portable.IDLEntity. In this case 
SomeStruct was meant to be INOUT argument, so it uses

SomeStructHolder. If SomeStruct would be declared as OUT, then again
SomeStructHolder would be used, but little different application logic
would be used - argument wouldn't be sent, but only retrieved after
operation invocation (this remaining logic is generated in stubs
and skeletons - so it's outside generated interface). This means, that
user using holders  the same way as in the generated style cannot tell
to the binding reference whether the modifier is INOUT or OUT.
This is one example of some real constraints which blocks using Java
interface hierarchy the same way as generated from idlj compiler.



OK. My understanding is that the generated java interface doesn't catch 
all the information from the IDL because some of them are in the 
generated stubs/skeletons. We probably need to decide what's the best 
default here. For example, for the Holder type, we will default to INOUT.


Another perspective is that for SCA remotable interfaces, the data 
exchange semantics is pass-by-value. In the case that 
@AllowsPassByReference is used, it only means the data is safe to pass by 
reference and it does NOT mandate pass-by-reference. So we can perfectly 
argue that the binding.corba doesn't support the INOUT and OUT arguments.




So I understand for both reference and service bindings we won't support 
INOUT/OUT modifiers.




I think it's reasonable if we cannot find a good way. At least supporting 
INOUT/OUT parameters is a second priority.


There is similar problem with CORBA arrays and CORBA sequences - Java 
types for them are both arrays, and additional logic is generated in 
stubs/skeletons (in arrays we only send fixed length array, in sequences 
we additionally send length of sequence first). Should we also make some 
default here? If so, then sequences looks more useful.


We might be able to consider the additional metadata to describe the java 
type for CORBA as part of the databinding framework. We'll introduce the 
annotation if it is inevitable.





Re: XQuery sample JAXB issue

2008-06-13 Thread Raymond Feng

Hi,

I think I found the root cause of the issue and fixed it as part of r667641. 
There were two databindings competing for the same java type (SAXON NodeInfo 
extends from javax.xml.transform.Source).


Thanks,
Raymond

--
From: Simon Laws [EMAIL PROTECTED]
Sent: Thursday, June 12, 2008 12:13 PM
To: tuscany-dev@ws.apache.org
Subject: Re: XQuery sample JAXB issue


On Thu, Jun 12, 2008 at 8:01 PM, Ramkumar R [EMAIL PROTECTED] wrote:

I am seeing this too, but when i run from my eclipse IDE the test seems 
to

be passing.

On 6/13/08, ant elder [EMAIL PROTECTED] wrote:

 I get this too, and can't figure it out either. Doesn't seem at all
 intermittent for me.

   ...ant


--
Thanks  Regards,
Ramkumar Ramalingam



The majority of JAXB versions are consistent, I.e.

jaxb-api-2.1.jar
jaxb-impl-2.1.7.jar

I do see the following dependencies...

jaxb-impl-2.0.5.jartestApache Tuscany SCA Tutorial Catalog EJB
geronimo-openejb-2.1.1jaxb-impl-2.0.5
jaxb-xjc-2.1.5.jarcompileApache Tuscany SCA HelloWorld BPEL
Sampletuscany-wsdl2java-2.0-incubating-SNAPSHOTjaxb-xjc-2.1.5

I'll go and change these and see if there is any affect.

We also have a mixture of

saxon-8.7.jar
saxon-9.0.0.2.jar

Don't know what impact that has but doesn't look right to me.

Regards

Simon



Re: Branching for Release 1.3 was: Re: Release 1.3?

2008-06-13 Thread Raymond Feng
I just checked in some improvements in the databinding area after a full 
clean build. Now I will stay away from the code :-).


Thanks,
Raymond
--
From: Simon Laws [EMAIL PROTECTED]
Sent: Friday, June 13, 2008 11:16 AM
To: tuscany-dev@ws.apache.org
Subject: Branching for Release 1.3 was: Re: Release 1.3?


I'm just trying to finish up the changes required to unhook the old domain
modules from the runtime, tests and samples. Then I'm pretty much done 
with

things I want to do before cutting the R1.3 branch. I'm planning on doing
this first thing tomorrow morning UK time. Can you let me know if there 
are
changes you are working on that you want to finish before I cut the 
branch.

Also if there are changes you have that don't need to go in the branch can
you hold back for a little while as I get this done. Obviously I'd like to
keep the trunk as stable as possible for the next 12 hours so if people 
have

time to give the code a spin and do a build that would be great.
Particularly after I've checked in the build changes related to domain. 
I'll

post when I'm done.

Regards

Simon



Tuscany SCA Chinese Discussion F orum (Tuscany SCA中文论坛)

2008-06-13 Thread Raymond Feng
Hi,

I have created a Google group to provide a forum for Chinese-speaking 
developers and users to exchange ideas and practices in Chinese about Tuscany 
and SCA. The group home page is: 
http://groups.google.com/group/tuscany-sca-chinese.

You are invited to join and contribute to the forum! 

Please note tuscany-dev and tuscany-user mailing lists are the official ways to 
interact within the Tuscany project. The group is more like a user group for 
the Chinese community who prefers to communicate in Chinese. 

Thanks,
Raymond

Re: Tracking Tuscany extensions, was: Distribution zips and what they contain, was: SCA runtimes

2008-06-13 Thread Raymond Feng

Hi, Mike.

It's a very good summary. The different perspectives are now well separated 
and they should be discussed on different threads to avoid further 
confusions :-).


Please see some more comments inline.

Thanks,
Raymond

--
From: Mike Edwards [EMAIL PROTECTED]
Sent: Friday, June 13, 2008 2:08 PM
To: tuscany-dev@ws.apache.org
Subject: Re: Tracking Tuscany extensions, was: Distribution zips and what 
they contain, was: SCA runtimes



Simon Nash wrote:
Actually this isn't quite what I was saying.  (Sorry that I wasn't 
clear.)

I'm talking about the lowest level components that we distribute as
binaries, not about larger groupings that are created from these 
components

to provide convenient aggregations of functionality.  These groupings
might be useful as well, as you are suggesting here and Graham suggested
in his recent post.

So back to the basic components.  I see no value at this level in 
breaking

things down any lower than a unit of functionality that might be included
or excluded as a whole from some valid scenario.  To give an example,
I wouldn't put everything related to Web services in a single basic
component, because some users might want to create a minimal Web services
configuration without Web services security and/or Web services policy.
I also wouldn't put assembly and core in the same basic component,
because some users might just want the Tuscany model without the
Tuscany runtime.  But I would put interface and assembly together in the
same basic component, because there are no cases where one would be used
without the other, and I would put core, core-databinding and databinding
together in the same basic component for the same reason.

  Simon


Simon,

I'm not clear what components you are talking about here.

It seems to me that we have things are different granularities, for 
different purposes and for different users, something like this (starting 
at the smallest):


a) Basic modules, as we have today.
   These are largely for Tuscany developers, but they should represent a 
level of development

   independence.

   Some folk (including me) believe that it is these modules that should 
be OSGi bundles.
   If there really is NO reason to separate functionality, then we should 
merge modules at this

   level.  I don't think that is necessary at present.


+1. The OSGi bundles are the basic units to constitute the tuscany runtime 
and they formally defines the SPI contracts across the modules. Maven 
modules are the static/structural reflection of the same idea.




b) A variety of functional components, that represent sets of coherent 
functions.


   Each consists of a series of the basic modules, aggregated together.
   Their function in life is to assist developers of applications that 
embed some level of

   Tuscany capability (including tools, Tuscany itself and so on)

   These are probably not agreed by folk today - we have work to do here 
to define these.
   You demonstrate the problem in your example above - you want Basic Web 
Services separate from
   Web Services Security - but for an end user, the step from using the 
first to using the

   second is a trivial addition of @required=integrity to the SCDL.

   Anyone care to have a go at defining these compoennts?



What physical representations of this layer? A library/collection of bundles 
like Eclispe feature?


c) A small number of large packages aimed at supporting end users in a 
series of environments and

   with a specific set of functionality

   Frankly, the average end user would prefer as few of these as possible. 
1 is ideal.
   However, I recognise that we are likely to have different groups of 
users with different needs,
   so that multiple packages are pragmatic - avoiding providing huge hunks 
of unneeded code to users
   who will never need them (eg no BPEL needed? - let's not have 
implementation.bpel and its

   humongous ODE 3rd party dependencies)

   Jean-Sebastien has made a stab at these packages, and I think they are 
a good starting point.




+1. This is about physical distributions which pick modules from a) and 
package them into archives to be downloaded/shipped. We probably just have 
to agree on this idea in principle. And we can tune the various combinations 
over time based on user feedbacks.


d) Simple ways of starting Tuscany fucntionality - based on using the 
packages in c)


   This includes a launcher (or launchers) and various forms of embedding 
of Tuscany into other
   runtime environments such as Tomcat, Geronimo (...pick your favourite 
runtime...)





+1 this is about platform or hosting environment specific deployment and 
launching.


I'd like to ask folks generally whether they agree with this division.  If 
we can agree on the division, I'd like to see us write down the contents 
of each of a) b) c) and d) - ideally on some nice Wiki page that we can 
maintain.





+1 to have a wiki page.



Yours,  

Re: Good practice for disabling/ignoring failing test cases

2008-06-12 Thread Raymond Feng

Hi,

It seems that you need to improve the script to filter out the @Ignore 
annotations in the java comments :-).


For example,
   // @Ignore
   // @Ignore(TUSCANY-2349)

Thanks,
Raymond

--
From: Kevin Williams [EMAIL PROTECTED]
Sent: Wednesday, June 11, 2008 10:26 PM
To: tuscany-dev@ws.apache.org
Subject: Re: Good practice for disabling/ignoring failing test cases


Since the vtest script assumes a test comment structure around
specification line numbers, I created a new script specific to this
purpose and added it to /java/etc.  It scans for files named
*testCase.java and collects methods annotated with @Ignore.

I could use some help getting this automated but, in the meantime,
I'll run this scan weekly and post results to the dev-list

Here is output from tonight's scan:
-

Content generated by from C:/tuscanysvn/java/sca
Test case files scanned 2008-06-11 (svn:Revision: 663374)
* Total files processed = 591
* Total ingnored test cases = 26

The following test cases have ignored test methods ...

org.apache.tuscany.sca.itest.databindings.jaxb.DatabindingTestCase
  testWSMap() , no associated jira
  testWSHashMap() , no associated jira

org.apache.tuscany.sca.itest.databindings.jaxb.PrimitivesDatabindingTestCase
  testSCANegateByteArray() , T-2351
  testWSNegateByteArray() , T-2349

org.apache.tuscany.sca.itest.references.ManualWiredReferenceTestCase
  testD2Reference() , no associated jira

client.CatalogEJBClientTestCase
  testCatalogEJB() , no associated jira

org.apache.tuscany.sca.vtest.assembly.ctypefile.CompomnentTypeFileTestCase
  typeFile3() , T-2383

org.apache.tuscany.sca.vtest.javaapi.annotations.conversationattributes.ConversationAttributesAnnotationTestCase
  singlePrincipal() , no associated jira

org.apache.tuscany.sca.vtest.javaapi.annotations.property.PropertyAnnotationTestCase
  atProperty7() , T-2289

org.apache.tuscany.sca.vtest.javaapi.annotations.reference.ReferenceAnnotationTestCase
  bogusComponentName() , no associated jira

org.apache.tuscany.sca.vtest.javaapi.annotations.scope.ScopeAnnotationTestCase
  atScope1() , T-2274
  atScope7() , no associated jira

org.apache.tuscany.sca.vtest.javaapi.apis.componentcontext.ComponentContextTestCase
  testGetRequestContext() , no associated jira
  testServiceLookup() , no associated jira

org.apache.tuscany.sca.vtest.javaapi.apis.exception.ExceptionTestCase
  testServiceUnavailableException() , no associated jira

org.apache.tuscany.sca.vtest.javaapi.apis.requestcontext.RequestContextTestCase
  testGetSecuritySubject() , no associated jira

org.apache.tuscany.sca.vtest.javaapi.conversation.callback.CallbackTestCase
  statefulMixedCallback() , T-2291
  statelessCallback3() , T-2306
  customCallback() , T-2312

org.apache.tuscany.sca.vtest.javaapi.conversation.lifetime.LifetimeTestCase
  lifetime2() , T-2243
  lifetime11() , T-2283

org.apache.tuscany.sca.vtest.wsbinding.nowsdl.multisoapbindings.GeneratedWSDLTestCase
  testMultiSoapBindings4() , no associated jira

org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.GeneratedWSDLTestCase
  testSoapVersion4() , no associated jira
  testSoapVersion5() , no associated jira

org.apache.tuscany.sca.vtest.wsbinding.WsdlEndpointTestCase
  testWsdlEndpoint() , no associated jira

org.apache.tuscany.sca.vtest.wsbinding.WsdlServiceTestCase
  testWsdlService() , T-2298



On Wed, Jun 11, 2008 at 6:42 PM, Jean-Sebastien Delfino
[EMAIL PROTECTED] wrote:

Simon Laws wrote:


On Wed, Jun 11, 2008 at 6:43 PM, Vamsavardhana Reddy 
[EMAIL PROTECTED]

wrote:


Thanks Raymond for pointing this out.  We never used this strategy in
Geronimo (infact, I have never put any JIRA number in any of the source
files other that Release Notes may be).  I have come across this in
Tuscany
source code and have been following it consistently from then on. 
Should

give credit to who ever started this in Tuscany :)

++Vamsi

On Wed, Jun 11, 2008 at 11:02 PM, Raymond Feng [EMAIL PROTECTED]
wrote:


Hi,

I see Vamsi uses the following strategy to disable failing unit test


cases.


@Test
@Ignore(TUSCANY-) // Ignore the test case due to JIRA 
TUSCANY-

public void testMySrtuff() {
}

I think it's a very good practice we should follow to maintain a clean
build while keep track of the ignored failing test cases with JIRAs.

Thanks,
Raymond



+1 good idea

Simon



+1

--
Jean-Sebastien





Re: Release 1.3?

2008-06-12 Thread Raymond Feng

+1 to cut 1.3 branch.

Raymond

--
From: Simon Laws [EMAIL PROTECTED]
Sent: Thursday, June 12, 2008 6:26 AM
To: tuscany-dev@ws.apache.org; [EMAIL PROTECTED]
Subject: Re: Release 1.3?


On Wed, Jun 11, 2008 at 7:47 AM, ant elder [EMAIL PROTECTED] wrote:


On Tue, Jun 10, 2008 at 11:53 AM, Simon Laws [EMAIL PROTECTED]
wrote:

 On Tue, Jun 10, 2008 at 10:14 AM, Simon Nash [EMAIL PROTECTED] wrote:

  Mike Edwards wrote:
 
  Simon Laws wrote:
 
  It's been a little while now since we did our 1.2 release. Since 
  then

  there
  has been lots of activity and of course we have graduated. It feels
 like
  the
  right time to do a 1.3 release. Looking back at the mail list over
the
  last
  couple of months there are quite a few candidates for inclusion 
  that

I
  can
  see;
 
  Better BPEL support
  Improvements to the domain manager app
  Improved runtime Java2WSDL processing
  Support for validation monitoring
  Databinding improvements
  Performance improvements
  JSR250 annotation support
  OSGi support improvements and a simple OSGi runtime test
  Java 2 security enablement
  Quite a few more tests for various parts of the runtime
  Lots of JIRA fixes.
  and of course we can remove the incubating assignment and drum up 
  a

 bit
  of
  publicity for our TLP graduation
 
  I'd also like to have a bit of a tidy up for this release and 
  remove

 the
  old
  domain modules we are no longer using (I'll post on this 
  separately)

 
  What else has been added or changed?
 
  I think the things I would like to get done can be closed off next
week
  ready to cut a branch.
 
  Thoughts?
 
  Simon
 
   Yes, I give a +1.
 
  BPEL is looking a lot better now.  I'd like to add a couple of more
  sophisticated itests/samples as well and the release will be a good
 spur.
 
 
  Yours,  Mike.
 
   I think this is a good time to do a 1.3 release.  This would make
  the new runtime Java2WSDL generation available to Tuscany users,
  and resolve a number of issues with the previous code generation
  that used Axis2.  The other improvements listed are valuable as well.
 
   Simon
 
 
 OK, so it looks like people want to do this

 Re. Luciano's question about RM. I'll volunteer to be RM this time 
 round

 and
 all help is greatly appreciated. If though Luciano (or anyone else for
that
 matter) you are keen to RM this time then I won't fight you for it;-)
Would
 seem a little unfair though as you did the last one.

 Anyone have things they are working one that would stop us moving 
 forward

 with this and cutting the R1.3 branch at the end of this week?

 Regards

 Simon


+1 to Simon as RM and taking the branch at the end of this week.

  ...ant



We'll I'm not hearing any comments against. I'll probably take the branch 
at
the weekend when things are a little quieter. I've still got changes I 
want
to make in trunk before then which are taking longer than I had hoped. So 
if

everyone could get all the changes they want to make done by close of play
Friday and ensure that we're getting a clean build then that will be a 
good

base to take the branch from. Any problems let me know.

Simon



[jira] Commented: (TUSCANY-2383) Cannot define component property with Component Type File

2008-06-12 Thread Raymond Feng (JIRA)

[ 
https://issues.apache.org/jira/browse/TUSCANY-2383?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12604572#action_12604572
 ] 

Raymond Feng commented on TUSCANY-2383:
---

If the component is implemented in java, I think this is a grey area in the 
spec. The spec says the configuration in the componentType should be compatible 
with the result from the instrospection of implemention. Let's say your purpose 
is to declare a property in the componentType file, then it has to be 
associated to a field or setter in the java class. Is the field/setter required 
to be protected or public? My understanding is that we can use the 
componentType to provide a default value to a property, but not add a new 
property if it doesn't exist in the impl class.

There are discussions on the ML about if we should use componentType to 
redefine the service interface using interface.wsdl. I think these are in the 
same area.

 Cannot define component property with Component Type File
 -

 Key: TUSCANY-2383
 URL: https://issues.apache.org/jira/browse/TUSCANY-2383
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Core Runtime
Affects Versions: Java-SCA-Next
Reporter: Kevin Williams

 Lines 450-451 of the Assembly spec:
 The componentType element can contain Service elements, Reference elements 
 and Property elements.
 I defined a test that inspects an injected property value.  In the initial 
 version I defined the property using the @Property annotation.  I then tried 
 replacing the annotation with an entry in a Component Type File without 
 success.
 The test:
 org.apache.tuscany.sca.vtest.assembly.ctypefile.CompomnentTypeFileTestCase.typeFile3
  demonstrates this failure and is currently @Ignore(d)

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



[jira] Assigned: (TUSCANY-2386) Databinding problem for array of javax.xml.transform.Source with binding.ws

2008-06-12 Thread Raymond Feng (JIRA)

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

Raymond Feng reassigned TUSCANY-2386:
-

Assignee: Raymond Feng

 Databinding problem for array of javax.xml.transform.Source with binding.ws
 ---

 Key: TUSCANY-2386
 URL: https://issues.apache.org/jira/browse/TUSCANY-2386
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Data Binding Runtime, Java SCA Integration Tests
Affects Versions: Java-SCA-Next
Reporter: Vamsavardhana Reddy
Assignee: Raymond Feng
 Fix For: Java-SCA-Next


 I am getting a TransformationException with a service method that takes an 
 array of javax.xml.transform.Source objects.  See 
 StandardTypesDatabindingTestCase.testWSNewSourceArray() under 
 sca\itest\databindings\jaxb-bottom-up.  StackTrace is given below:
 org.apache.tuscany.sca.databinding.TransformationException: No path found for 
 the transformation: java:array-org.apache.axiom.om.OMElement
   at 
 org.apache.tuscany.sca.databinding.impl.MediatorImpl.getTransformerChain(MediatorImpl.java:165)
   at 
 org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:69)
   at 
 org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:201)
   at 
 org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:45)
   at 
 org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:81)
   at 
 org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.transform(DataTransformationInterceptor.java:186)
   at 
 org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:76)
   at 
 org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
   at 
 org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
   at $Proxy21.getNewSourceArray(Unknown Source)
   at 
 org.apache.tuscany.sca.itest.databindings.jaxb.impl.StandardTypesLocalServiceClientImpl.getNewSourceArrayForward(StandardTypesLocalServiceClientImpl.java:147)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at 
 org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:111)
   at 
 org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
   at 
 org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
   at 
 org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
   at $Proxy20.getNewSourceArrayForward(Unknown Source)
   at 
 org.apache.tuscany.sca.itest.databindings.jaxb.StandardTypesDatabindingTestCase.performTestNewSourceArray(StandardTypesDatabindingTestCase.java:1300)
   at 
 org.apache.tuscany.sca.itest.databindings.jaxb.StandardTypesDatabindingTestCase.testWSNewSourceArray(StandardTypesDatabindingTestCase.java:649)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at 
 org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
   at 
 org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
   at 
 org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
   at 
 org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
   at 
 org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
   at 
 org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:75)
   at 
 org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:36)
   at 
 org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
   at 
 org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
   at 
 org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
   at 
 org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run

[jira] Assigned: (TUSCANY-2385) Problem with Databinding for URI and UUID objects when using binding.ws

2008-06-12 Thread Raymond Feng (JIRA)

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

Raymond Feng reassigned TUSCANY-2385:
-

Assignee: Raymond Feng

 Problem with Databinding for URI and UUID objects when using binding.ws
 ---

 Key: TUSCANY-2385
 URL: https://issues.apache.org/jira/browse/TUSCANY-2385
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Data Binding Runtime, Java SCA Integration Tests
Affects Versions: Java-SCA-Next
Reporter: Vamsavardhana Reddy
Assignee: Raymond Feng
 Fix For: Java-SCA-Next


 I am noticing that when I am invoking a service method that takes an object 
 as parameter over binding.ws,, the URI and UUID standard types that map to 
 xs:string XML data type are being presented to the service method as String 
 rather than their respective types.
 See StandardTypesDatabindingTestCase.testWSNewObject() under 
 sca\itest\databindings\jaxb-bottom-up.

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



[jira] Assigned: (TUSCANY-2387) Databinding problem for array of javax.xml.transform.Source with binding.sca and remotable service

2008-06-12 Thread Raymond Feng (JIRA)

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

Raymond Feng reassigned TUSCANY-2387:
-

Assignee: Raymond Feng

 Databinding problem for array of javax.xml.transform.Source with binding.sca 
 and remotable service
 --

 Key: TUSCANY-2387
 URL: https://issues.apache.org/jira/browse/TUSCANY-2387
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Data Binding Runtime, Java SCA Integration Tests
Affects Versions: Java-SCA-Next
Reporter: Vamsavardhana Reddy
Assignee: Raymond Feng
 Fix For: Java-SCA-Next


 I am getting a MarshalException with a remotable service method that takes an 
 array of javax.xml.transform.Source objects invoked over binding.sca. See 
 StandardTypesDatabindingTestCase.testSCANewSourceArray() under 
 sca\itest\databindings\jaxb-bottom-up. StackTrace is given below: 
 java.lang.IllegalArgumentException: javax.xml.bind.MarshalException
  - with linked exception:
 [javax.xml.bind.JAXBException: class javax.xml.transform.dom.DOMSource nor 
 any of its super class is known to this context.]
   at 
 org.apache.tuscany.sca.databinding.jaxb.JAXBDataBinding.copy(JAXBDataBinding.java:117)
   at 
 org.apache.tuscany.sca.databinding.DefaultDataBindingExtensionPoint$LazyDataBinding.copy(DefaultDataBindingExtensionPoint.java:172)
   at 
 org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.copy(PassByValueInterceptor.java:241)
   at 
 org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.copy(PassByValueInterceptor.java:160)
   at 
 org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:106)
   at 
 org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
   at 
 org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
   at $Proxy21.getNewSourceArray(Unknown Source)
   at 
 org.apache.tuscany.sca.itest.databindings.jaxb.impl.StandardTypesLocalServiceClientImpl.getNewSourceArrayForward(StandardTypesLocalServiceClientImpl.java:147)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at 
 org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:111)
   at 
 org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
   at 
 org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
   at 
 org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
   at $Proxy20.getNewSourceArrayForward(Unknown Source)
   at 
 org.apache.tuscany.sca.itest.databindings.jaxb.StandardTypesDatabindingTestCase.performTestNewSourceArray(StandardTypesDatabindingTestCase.java:1300)
   at 
 org.apache.tuscany.sca.itest.databindings.jaxb.StandardTypesDatabindingTestCase.testSCANewSourceArray(StandardTypesDatabindingTestCase.java:354)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at 
 org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
   at 
 org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
   at 
 org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
   at 
 org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
   at 
 org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
   at 
 org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:75)
   at 
 org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:36)
   at 
 org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
   at 
 org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
   at 
 org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
   at 
 org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38

[jira] Assigned: (TUSCANY-2366) QName with just a localPart not getting passed in arrays with binding.ws to invoke service

2008-06-12 Thread Raymond Feng (JIRA)

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

Raymond Feng reassigned TUSCANY-2366:
-

Assignee: Raymond Feng

 QName with just a localPart not getting passed in arrays with binding.ws to 
 invoke service
 --

 Key: TUSCANY-2366
 URL: https://issues.apache.org/jira/browse/TUSCANY-2366
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Data Binding Runtime
Affects Versions: Java-SCA-Next
Reporter: Vamsavardhana Reddy
Assignee: Raymond Feng
 Fix For: Java-SCA-Next


 I have a service method that takes an array of QName and returns an array of 
 QName.  I am noticing that when I invoke the method using webservice binding, 
 the QName elements with just the localPart are not getting passed over the 
 wire.  To give an idea of what is happening, I have the following QName array:
 QName[] qnames = new QName[4];
 qnames[0] = new QName(localPart);
 qnames[1] = new QName(namespaceUri, localPart);
 qnames[2] = new QName(namespaceUri, localPart, prefix);
 qnames[3] = new QName(localPart2);
 When the method is invoked, it is receiving an array with only two elements 
 instead of four.  The first and last element that have only the localpart are 
 not getting passed.

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



[jira] Resolved: (TUSCANY-2385) Problem with Databinding for URI and UUID objects when using binding.ws

2008-06-12 Thread Raymond Feng (JIRA)

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

Raymond Feng resolved TUSCANY-2385.
---

Resolution: Invalid

Both URI and UUID are mapped into xsd:string. So the URI and UUID values will 
be mashaled as xsd:string in the request. On the receiving side, the argument 
type is Object.class. As a result, the value is unmarshaled as a String. So 
it's a problem on the interface definition, we need to make the argument 
explicitly URI or UUID so that it can roundtrip across WS.

 Problem with Databinding for URI and UUID objects when using binding.ws
 ---

 Key: TUSCANY-2385
 URL: https://issues.apache.org/jira/browse/TUSCANY-2385
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Data Binding Runtime, Java SCA Integration Tests
Affects Versions: Java-SCA-Next
Reporter: Vamsavardhana Reddy
Assignee: Raymond Feng
 Fix For: Java-SCA-Next


 I am noticing that when I am invoking a service method that takes an object 
 as parameter over binding.ws,, the URI and UUID standard types that map to 
 xs:string XML data type are being presented to the service method as String 
 rather than their respective types.
 See StandardTypesDatabindingTestCase.testWSNewObject() under 
 sca\itest\databindings\jaxb-bottom-up.

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



[jira] Assigned: (TUSCANY-2388) Data binding does not work when Java interface implementation (where method param is not String, primitive) exposed with a web services binding

2008-06-12 Thread Raymond Feng (JIRA)

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

Raymond Feng reassigned TUSCANY-2388:
-

Assignee: Raymond Feng

 Data binding does not work when Java interface  implementation (where method 
 param is not String, primitive) exposed with a web services binding 
 --

 Key: TUSCANY-2388
 URL: https://issues.apache.org/jira/browse/TUSCANY-2388
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Data Binding Runtime
Affects Versions: Java-SCA-1.1
 Environment: Windows XP; IBM J2RE 1.5.0 (Build 2.3)
Reporter: Peter Kemp
Assignee: Raymond Feng
 Attachments: testcase.zip


 1. Create a component with a java implementation, with a service defined by a 
 Java interface. 
 The parameter to the method is not a String, primitive or wrapper - rather, 
 it's a class containing a couple of Strings and an Integer.
 2. Expose the service with a webservice binding.  
 3. Deploy the composite (as a WAR or embedded).
 4. Retrieve the WSDL for the service (eg from 
 http://localhost:8080/SomeServices?wsdl).
 5. Generate a web service request from the WSDL.
 The runtime fails to map the web service request message to the 
 implementation class method parameters - it calls the correct method, but the 
 method parameter is null.
 The test works fine when the parameter is a String.
 Composite definition (some.composite):
 ---
 ?xml version=1.0 encoding=UTF-8?
 composite xmlns=http://www.osoa.org/xmlns/sca/1.0; 
 targetNamespace=http://test; xmlns:test=http://test; name=some
 service name=SomeServices promote=SomeServicesComponent
 binding.ws uri=http://localhost:8080/SomeServices/
 /service
 component name=SomeServicesComponent
 implementation.java class=service.SomeServiceImpl/
 service name=SomeService
 interface.java interface=service.SomeService /  
 /service
 /component
 /composite
 Service interface:
 ---
 /**
  * 
  */
 package service;
 import org.osoa.sca.annotations.Remotable;
 @Remotable
 public interface SomeService {
 
 public AnObject getUsingString(String stringParam);
 public AnObject getUsingMoreComplexObject(MoreComplexObject 
 moreComplexParam);
 
 }
 Implementation:
 --
 package service;
 import org.osoa.sca.annotations.Service;
 @Service(SomeService.class)
 public class SomeServiceImpl implements SomeService {
 public AnObject getUsingString(String stringParam) {
 System.out.println(Param value: + stringParam);
 return getAnObject(stringParam);
 }
 private AnObject getAnObject(String stringParam) {
 // TODO Auto-generated method stub
 return new AnObject(stringParam + 123, 123);
 }
 public AnObject getUsingMoreComplexObject(MoreComplexObject 
 moreComplexParam) {
 System.out.println(Param value: + 
 moreComplexParam.getStringParam());
 
 return getAnObject(moreComplexParam.getStringParam());
 }
 
 }
 MoreComplexObject.java
 ---
 /**
  * 
  */
 package service;
 import java.io.Serializable;
 public class MoreComplexObject implements Serializable{
 private static final long serialVersionUID = 43242314234123L;
 private String stringParam;
 private Integer intParam;
 private String stringParam2;
 public String getStringParam() {
 return stringParam;
 }
 public void setStringParam(String stringParam) {
 this.stringParam = stringParam;
 }
 public Integer getIntParam() {
 return intParam;
 }
 public void setIntParam(Integer intParam) {
 this.intParam = intParam;
 }
 public String getStringParam2() {
 return stringParam2;
 }
 public void setStringParam2(String stringParam2) {
 this.stringParam2 = stringParam2;
 }
 
 }
 AnObject.java
 -
 package service;
 public class AnObject {
 private String someRetValue;
 private Integer someOtherRetValue;
 
 public AnObject() {
 }
 public AnObject(String someRetValue, Integer someOtherRetValue) {
 this.someRetValue = someRetValue;
 this.someOtherRetValue = someOtherRetValue;
 }
 /**
  * @return the someOtherRetValue
  */
 public Integer getSomeOtherRetValue() {
 return someOtherRetValue;
 }
 /**
  * @param someOtherRetValue the someOtherRetValue to set
  */
 public void setSomeOtherRetValue(Integer someOtherRetValue) {
 this.someOtherRetValue = someOtherRetValue;
 }
 /**
  * @return

[jira] Resolved: (TUSCANY-2351) byte array passed by reference when using sca binding even though implementation does not have @AllowsPassByReference

2008-06-12 Thread Raymond Feng (JIRA)

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

Raymond Feng resolved TUSCANY-2351.
---

Resolution: Fixed

Fixed under 667179

 byte array passed by reference when using sca binding even though 
 implementation does not have @AllowsPassByReference
 -

 Key: TUSCANY-2351
 URL: https://issues.apache.org/jira/browse/TUSCANY-2351
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Core Runtime
Affects Versions: Java-SCA-Next
Reporter: Vamsavardhana Reddy
Assignee: Raymond Feng
 Fix For: Java-SCA-Next


 I have method (in a remotable interface)  that takes a byte array parameter 
 and returns a byte array.  When I invoke the method using SCA binding, I am 
 noticing that the parameter passed to the method is modified even though the 
 implementation is not annotated with @AllowsPassByReference.

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



Re: [jira] Commented: (TUSCANY-2383) Cannot define component property with Component Type File

2008-06-12 Thread Raymond Feng

Hi,

It turned out this test case is not adding incompatible changes from the 
componentType file. We were checking if the field is public upon the 
injection of a property value. It was an interpretation of the Java AA:


1349 Properties may also be injected via public setter methods even when the 
@Property annotation is not
1350 present. However, the @Property annotation must be used in order to 
inject a property onto a non-public
1351 field. In the case where there is no @Property annotation, the name of 
the property is the same as the

1352 name of the field or setter.

See TUSCANY-2289 too.

I just fixed it by not checking if the field is public.

Thanks,
Raymond

--
From: Kevin Williams [EMAIL PROTECTED]
Sent: Thursday, June 12, 2008 10:38 AM
To: Raymond Feng (JIRA) tuscany-dev@ws.apache.org
Subject: Re: [jira] Commented: (TUSCANY-2383) Cannot define component 
property with Component Type File



I may not fully understand your comment but it seems inconsistent to
support the provision of component type information via a type file
for service and reference elements but not for property elements.

In the test I have only removed the @Property annotation from the java
implementation and replaced it with an element in the Component Type
File.

On Thu, Jun 12, 2008 at 10:52 AM, Raymond Feng (JIRA)
tuscany-dev@ws.apache.org wrote:


   [ 
https://issues.apache.org/jira/browse/TUSCANY-2383?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12604572#action_12604572 ]


Raymond Feng commented on TUSCANY-2383:
---

If the component is implemented in java, I think this is a grey area in 
the spec. The spec says the configuration in the componentType should be 
compatible with the result from the instrospection of implemention. Let's 
say your purpose is to declare a property in the componentType file, then 
it has to be associated to a field or setter in the java class. Is the 
field/setter required to be protected or public? My understanding is that 
we can use the componentType to provide a default value to a property, 
but not add a new property if it doesn't exist in the impl class.


There are discussions on the ML about if we should use componentType to 
redefine the service interface using interface.wsdl. I think these are in 
the same area.



Cannot define component property with Component Type File
-

Key: TUSCANY-2383
URL: https://issues.apache.org/jira/browse/TUSCANY-2383
Project: Tuscany
 Issue Type: Bug
 Components: Java SCA Core Runtime
   Affects Versions: Java-SCA-Next
   Reporter: Kevin Williams

Lines 450-451 of the Assembly spec:
The componentType element can contain Service elements, Reference 
elements and Property elements.
I defined a test that inspects an injected property value.  In the 
initial version I defined the property using the @Property annotation. 
I then tried replacing the annotation with an entry in a Component Type 
File without success.

The test:
org.apache.tuscany.sca.vtest.assembly.ctypefile.CompomnentTypeFileTestCase.typeFile3 
demonstrates this failure and is currently @Ignore(d)


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




Re: [jira] Commented: (TUSCANY-2383) Cannot define component property with Component Type File

2008-06-12 Thread Raymond Feng

Hi,

I just make the protected field injectable. :-)

Thanks,
Raymond
--
From: Scott Kurz [EMAIL PROTECTED]
Sent: Thursday, June 12, 2008 1:08 PM
To: tuscany-dev@ws.apache.org
Subject: Re: [jira] Commented: (TUSCANY-2383) Cannot define component 
property with Component Type File



Raymond,

Just curious: did you fix it in a way such that the .componentType 
property

definition matters or is the component property definition enough to have
the value injected?


On Thu, Jun 12, 2008 at 3:39 PM, Raymond Feng [EMAIL PROTECTED] wrote:


Hi,

It turned out this test case is not adding incompatible changes from the
componentType file. We were checking if the field is public upon the
injection of a property value. It was an interpretation of the Java AA:

1349 Properties may also be injected via public setter methods even when
the @Property annotation is not
1350 present. However, the @Property annotation must be used in order to
inject a property onto a non-public
1351 field. In the case where there is no @Property annotation, the name 
of

the property is the same as the
1352 name of the field or setter.

See TUSCANY-2289 too.

I just fixed it by not checking if the field is public.

Thanks,
Raymond

--
From: Kevin Williams [EMAIL PROTECTED]
Sent: Thursday, June 12, 2008 10:38 AM
To: Raymond Feng (JIRA) tuscany-dev@ws.apache.org
Subject: Re: [jira] Commented: (TUSCANY-2383) Cannot define component
property with Component Type File


 I may not fully understand your comment but it seems inconsistent to

support the provision of component type information via a type file
for service and reference elements but not for property elements.

In the test I have only removed the @Property annotation from the java
implementation and replaced it with an element in the Component Type
File.

On Thu, Jun 12, 2008 at 10:52 AM, Raymond Feng (JIRA)
tuscany-dev@ws.apache.org wrote:



  [
https://issues.apache.org/jira/browse/TUSCANY-2383?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12604572#action_12604572]

Raymond Feng commented on TUSCANY-2383:
---

If the component is implemented in java, I think this is a grey area in
the spec. The spec says the configuration in the componentType should 
be
compatible with the result from the instrospection of implemention. 
Let's
say your purpose is to declare a property in the componentType file, 
then it

has to be associated to a field or setter in the java class. Is the
field/setter required to be protected or public? My understanding is 
that we
can use the componentType to provide a default value to a property, but 
not

add a new property if it doesn't exist in the impl class.

There are discussions on the ML about if we should use componentType to
redefine the service interface using interface.wsdl. I think these are 
in

the same area.

 Cannot define component property with Component Type File

-

   Key: TUSCANY-2383
   URL: https://issues.apache.org/jira/browse/TUSCANY-2383
   Project: Tuscany
Issue Type: Bug
Components: Java SCA Core Runtime
  Affects Versions: Java-SCA-Next
  Reporter: Kevin Williams

Lines 450-451 of the Assembly spec:
The componentType element can contain Service elements, Reference
elements and Property elements.
I defined a test that inspects an injected property value.  In the
initial version I defined the property using the @Property annotation. 
I
then tried replacing the annotation with an entry in a Component Type 
File

without success.
The test:
org.apache.tuscany.sca.vtest.assembly.ctypefile.CompomnentTypeFileTestCase.typeFile3
demonstrates this failure and is currently @Ignore(d)



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







Re: svn commit: r666556 - /incubator/tuscany/java/sca/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsDatabindingTestCase.java

2008-06-11 Thread Raymond Feng
I have all these test cases passed in my eclipse. I'm checking if I miss any 
changes in the commit.


Thanks,
Raymond

--
From: [EMAIL PROTECTED]
Sent: Wednesday, June 11, 2008 12:56 AM
To: [EMAIL PROTECTED]
Subject: svn commit: r666556 - 
/incubator/tuscany/java/sca/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsDatabindingTestCase.java



Author: vamsic007
Date: Wed Jun 11 00:56:50 2008
New Revision: 666556

URL: http://svn.apache.org/viewvc?rev=666556view=rev
Log:
Marking the failing tests with @Ignore.

Modified:

incubator/tuscany/java/sca/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsDatabindingTestCase.java

Modified: 
incubator/tuscany/java/sca/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsDatabindingTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsDatabindingTestCase.java?rev=666556r1=666555r2=666556view=diff

==
---  
incubator/tuscany/java/sca/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsDatabindingTestCase.java 
(original)
+++ 
incubator/tuscany/java/sca/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsDatabindingTestCase.java 
Wed Jun 11 00:56:50 2008

@@ -25,6 +25,7 @@
import 
org.apache.tuscany.sca.itest.databindings.jaxb.impl.GenericsTransformer;

import org.junit.AfterClass;
import org.junit.BeforeClass;
+import org.junit.Ignore;
import org.junit.Test;

/**
@@ -81,7 +82,7 @@
 * Service method invoked is getTypeExtends.
 */
@Test
-// @Ignore(java.lang.IllegalArgumentException: 
javax.xml.bind.MarshalException)
+@Ignore(java.lang.IllegalArgumentException: 
javax.xml.bind.MarshalException)

public void testSCATypeExtends() throws Exception {
GenericsServiceClient serviceClient = 
domain.getService(GenericsServiceClient.class, 
GenericsServiceClientSCAComponent);

performTestTypeExtends(serviceClient);
@@ -113,7 +114,7 @@
 * Service method invoked is getWildcardSuper.
 */
@Test
-// @Ignore(java.lang.IllegalArgumentException: 
javax.xml.bind.MarshalException)
+@Ignore(java.lang.IllegalArgumentException: 
javax.xml.bind.MarshalException)

public void testSCAWildcardSuper() throws Exception {
GenericsServiceClient serviceClient = 
domain.getService(GenericsServiceClient.class, 
GenericsServiceClientSCAComponent);

performTestWildcardSuper(serviceClient);
@@ -124,7 +125,7 @@
 * Service method invoked is getWildcardExtends.
 */
@Test
-// @Ignore(java.lang.IllegalArgumentException: 
javax.xml.bind.MarshalException)
+@Ignore(java.lang.IllegalArgumentException: 
javax.xml.bind.MarshalException)

public void testSCAWildcardExtends() throws Exception {
GenericsServiceClient serviceClient = 
domain.getService(GenericsServiceClient.class, 
GenericsServiceClientSCAComponent);

performTestWildcardExtends(serviceClient);
@@ -198,7 +199,7 @@
 * Service method invoked is getWildcardSuper.
 */
@Test
-// @Ignore(org.osoa.sca.ServiceRuntimeException: 
org.apache.axis2.AxisFault)
+@Ignore(org.osoa.sca.ServiceRuntimeException: 
org.apache.axis2.AxisFault)

public void testWSWildcardSuper() throws Exception {
GenericsServiceClient serviceClient = 
domain.getService(GenericsServiceClient.class, 
GenericsServiceClientWSComponent);

performTestWildcardSuper(serviceClient);
@@ -209,7 +210,7 @@
 * Service method invoked is getWildcardExtends.
 */
@Test
-// @Ignore(org.osoa.sca.ServiceRuntimeException: 
org.apache.axis2.AxisFault)
+@Ignore(org.osoa.sca.ServiceRuntimeException: 
org.apache.axis2.AxisFault)

public void testWSWildcardExtends() throws Exception {
GenericsServiceClient serviceClient = 
domain.getService(GenericsServiceClient.class, 
GenericsServiceClientWSComponent);

performTestWildcardExtends(serviceClient);




Re: svn commit: r666556 - /incubator/tuscany/java/sca/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsDatabindingTestCase.java

2008-06-11 Thread Raymond Feng

Yes, I missed one file. I'll add it in now.

Thanks,
Raymond

--
From: Raymond Feng [EMAIL PROTECTED]
Sent: Wednesday, June 11, 2008 8:14 AM
To: tuscany-dev@ws.apache.org
Subject: Re: svn commit: r666556 - 
/incubator/tuscany/java/sca/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsDatabindingTestCase.java


I have all these test cases passed in my eclipse. I'm checking if I miss 
any changes in the commit.


Thanks,
Raymond

--
From: [EMAIL PROTECTED]
Sent: Wednesday, June 11, 2008 12:56 AM
To: [EMAIL PROTECTED]
Subject: svn commit: r666556 - 
/incubator/tuscany/java/sca/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsDatabindingTestCase.java



Author: vamsic007
Date: Wed Jun 11 00:56:50 2008
New Revision: 666556

URL: http://svn.apache.org/viewvc?rev=666556view=rev
Log:
Marking the failing tests with @Ignore.

Modified:

incubator/tuscany/java/sca/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsDatabindingTestCase.java

Modified: 
incubator/tuscany/java/sca/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsDatabindingTestCase.java
URL: 
http://svn.apache.org/viewvc/incubator/tuscany/java/sca/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsDatabindingTestCase.java?rev=666556r1=666555r2=666556view=diff

==
---  
incubator/tuscany/java/sca/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsDatabindingTestCase.java 
(original)
+++ 
incubator/tuscany/java/sca/itest/databindings/jaxb-bottom-up/src/test/java/org/apache/tuscany/sca/itest/databindings/jaxb/GenericsDatabindingTestCase.java 
Wed Jun 11 00:56:50 2008

@@ -25,6 +25,7 @@
import 
org.apache.tuscany.sca.itest.databindings.jaxb.impl.GenericsTransformer;

import org.junit.AfterClass;
import org.junit.BeforeClass;
+import org.junit.Ignore;
import org.junit.Test;

/**
@@ -81,7 +82,7 @@
 * Service method invoked is getTypeExtends.
 */
@Test
-// @Ignore(java.lang.IllegalArgumentException: 
javax.xml.bind.MarshalException)
+@Ignore(java.lang.IllegalArgumentException: 
javax.xml.bind.MarshalException)

public void testSCATypeExtends() throws Exception {
GenericsServiceClient serviceClient = 
domain.getService(GenericsServiceClient.class, 
GenericsServiceClientSCAComponent);

performTestTypeExtends(serviceClient);
@@ -113,7 +114,7 @@
 * Service method invoked is getWildcardSuper.
 */
@Test
-// @Ignore(java.lang.IllegalArgumentException: 
javax.xml.bind.MarshalException)
+@Ignore(java.lang.IllegalArgumentException: 
javax.xml.bind.MarshalException)

public void testSCAWildcardSuper() throws Exception {
GenericsServiceClient serviceClient = 
domain.getService(GenericsServiceClient.class, 
GenericsServiceClientSCAComponent);

performTestWildcardSuper(serviceClient);
@@ -124,7 +125,7 @@
 * Service method invoked is getWildcardExtends.
 */
@Test
-// @Ignore(java.lang.IllegalArgumentException: 
javax.xml.bind.MarshalException)
+@Ignore(java.lang.IllegalArgumentException: 
javax.xml.bind.MarshalException)

public void testSCAWildcardExtends() throws Exception {
GenericsServiceClient serviceClient = 
domain.getService(GenericsServiceClient.class, 
GenericsServiceClientSCAComponent);

performTestWildcardExtends(serviceClient);
@@ -198,7 +199,7 @@
 * Service method invoked is getWildcardSuper.
 */
@Test
-// @Ignore(org.osoa.sca.ServiceRuntimeException: 
org.apache.axis2.AxisFault)
+@Ignore(org.osoa.sca.ServiceRuntimeException: 
org.apache.axis2.AxisFault)

public void testWSWildcardSuper() throws Exception {
GenericsServiceClient serviceClient = 
domain.getService(GenericsServiceClient.class, 
GenericsServiceClientWSComponent);

performTestWildcardSuper(serviceClient);
@@ -209,7 +210,7 @@
 * Service method invoked is getWildcardExtends.
 */
@Test
-// @Ignore(org.osoa.sca.ServiceRuntimeException: 
org.apache.axis2.AxisFault)
+@Ignore(org.osoa.sca.ServiceRuntimeException: 
org.apache.axis2.AxisFault)

public void testWSWildcardExtends() throws Exception {
GenericsServiceClient serviceClient = 
domain.getService(GenericsServiceClient.class, 
GenericsServiceClientWSComponent);

performTestWildcardExtends(serviceClient);




Re: Databinding test for javax.xml.transform.Source problem

2008-06-11 Thread Raymond Feng
If I run the test case alone without others in the same class, then it 
passes. I think there is some interference from other test cases. 
Especially, the Source, Image are both map to the same XSD type.


We need to dig out what's conflicting.

Thanks,
Raymond
--
From: Vamsavardhana Reddy [EMAIL PROTECTED]
Sent: Wednesday, June 11, 2008 6:01 AM
To: tuscany-dev@ws.apache.org
Subject: Databinding test for javax.xml.transform.Source problem


I have updated the tests to get the content out of Source objects and
compare the contents. I have the following StreamSource as input:

new StreamSource(new StringReader(aA/a)).

The content I am from this source is as follows:
?xml version=1.0 encoding=UTF-8?
aA/a

I have a service method that returns a copy of the source that is passed 
to

it.  The source that is returned when the service method is invoked over
binding.ws is giveing the following content:
?xml version=1.0 encoding=UTF-8?
return xmlns=http://jaxb.databindings.itest.sca.tuscany.apache.org/
A/return

Notice the namespace and the change in the root tag.  Any suggestions on
changing the test?



Good practice for disabling/ignoring failing test cases

2008-06-11 Thread Raymond Feng

Hi,

I see Vamsi uses the following strategy to disable failing unit test cases.

@Test
@Ignore(TUSCANY-) // Ignore the test case due to JIRA TUSCANY-
public void testMySrtuff() {
}

I think it's a very good practice we should follow to maintain a clean build 
while keep track of the ignored failing test cases with JIRAs.


Thanks,
Raymond 



Re: Unable to download the artifact from any repository

2008-06-11 Thread Raymond Feng

Hi,

We should have the following maven repo declared in the pom.xml:

   repository
   idapache.snapshots/id
   nameApache Snapshot Repository/name
   urlhttp://people.apache.org/repo/m2-snapshot-repository/url
   releases
   enabledfalse/enabled
   /releases
   snapshots
   enabledtrue/enabled
   /snapshots
   /repository

But I cannot find it anywhere in the pom.xml under the java/sca tree. Is it 
a bug? If we build from sca folder, then it works fine. What about 
building modules/... from an empty local maven repo?


Thanks,
Raymond

--
From: Oscar Castaneda [EMAIL PROTECTED]
Sent: Wednesday, June 11, 2008 11:29 AM
To: tuscany-dev@ws.apache.org; [EMAIL PROTECTED]
Subject: Re: Unable to download the artifact from any repository

Thanks ant. I tried it but unfortunately I'm getting the same problem. 
I'll

continue looking at it, any suggestions are welcome.


On Wed, Jun 11, 2008 at 8:21 PM, ant elder [EMAIL PROTECTED] wrote:


There's a Maven settings.xml we have for Tuscany the might help you at:
https://svn.apache.org/repos/asf/incubator/tuscany/java/etc/settings.xml

  ...ant

On Wed, Jun 11, 2008 at 7:13 PM, Oscar Castaneda 
[EMAIL PROTECTED] wrote:

 
  It doesn't look right that the first of those URLs is pointing at my
 apache
  space - 
  http://people.apache.org/~antelderhttp://people.apache.org/%7Eantelder

http://people.apache.org/%7Eantelder
 http://people.apache.org/%7Eantelder
  .


 Thanks alot ant, you're right! I changed settings.xml following an old
 email
 thread. I deleted the file and executed mvn and its now complaining 
 about

 not being able to resolve artifacts (and that's solvable my manually
 installing them I think).

 However, I was only testing this because of the problems I was
experiencing
 when building revision 643746. Any ideas here? Maybe modifying the
 settings.xml to get the required files from somewhere else?

 Here's the trace:

 $ mvn clean install -Dtest=no
 [INFO] Scanning for projects...
 [INFO]
 
 [ERROR] FATAL ERROR
 [INFO]
 
 [INFO] Failed to resolve artifact.

 GroupId: org.apache.tuscany.sca
 ArtifactId: tuscany-sca
 Version: 2.0-incubating-SNAPSHOT

 Reason: Unable to download the artifact from any repository

   org.apache.tuscany.sca:tuscany-sca:pom:2.0-incubating-SNAPSHOT

 from the specified remote repositories:
  central (http://repo1.maven.org/maven2)


 [INFO]
 
 [INFO] Trace
 org.apache.maven.reactor.MavenExecutionException: Cannot find parent:
 org.apache.tuscany.sca:tuscany-sca for project:
 null:tuscany-modules:pom:null
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:378)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:290)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:125)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:272)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at


sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at


sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at 
 org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)

at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at
org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
 Caused by: org.apache.maven.project.ProjectBuildingException: Cannot 
 find

 parent: org.apache.tuscany.sca:tuscany-sca for project:
 null:tuscany-modules:pom:null
at


org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1264)
at


org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:749)
at


org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:479)
at


org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200)
at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:537)
at
org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:467)
at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:364)
... 11 more
 Caused by: org.apache.maven.project.ProjectBuildingException: POM
 'org.apache.tuscany.sca:tuscany-sca' not found in repository: Unable to
 download the artifact from any repository

   org.apache.tuscany.sca:tuscany-sca:pom:2.0-incubating-SNAPSHOT

 from the specified remote repositories:
  central (http://repo1.maven.org/maven2)

at



Test failure: CallBackSetCallbackConvTestCase

2008-06-11 Thread Raymond Feng

Hi, Simon Nash.

I'm seeing the following failure after I refreshed from r666738 (your fix 
for TUSCANY-2312).


Thanks,
Raymond

---
T E S T S
---
Running org.apache.tuscany.sca.test.CallBackSetCallbackConvTestCase
CallBackSetCallbackConvServiceImpl message received: Knock Knock
Entering CallBackSetCallbackObjectCallback callBackMessage: Who's There
Entering callback increment: This should do it
CallBackSetCallbackConvServiceImpl response sent
CallBackSetCallbackConvServiceImpl message received: Knock Knock
java.lang.reflect.UndeclaredThrowableException
   at $Proxy12.callBackMessage(Unknown Source)
   at 
org.apache.tuscany.sca.test.CallBackSetCallbackConvServiceImpl.knockKnock(CallBackSetCallbackConvServiceImpl.java:43)

   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

   at java.lang.reflect.Method.invoke(Method.java:597)
   at 
org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:128)
   at 
org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
   at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
   at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)

   at $Proxy11.knockKnock(Unknown Source)
   at 
org.apache.tuscany.sca.test.CallBackSetCallbackConvClientImpl.test8(CallBackSetCallbackConvClientImpl.java:108)
   at 
org.apache.tuscany.sca.test.CallBackSetCallbackConvClientImpl.run(CallBackSetCallbackConvClientImpl.java:59)

   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

   at java.lang.reflect.Method.invoke(Method.java:597)
   at 
org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:128)
   at 
org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:108)
   at 
org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
   at 
org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:108)
   at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
   at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)

   at $Proxy10.run(Unknown Source)
   at 
org.apache.tuscany.sca.test.CallBackSetCallbackConvTestCase.testCallBackSetCallback(CallBackSetCallbackConvTestCase.java:31)

   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

   at java.lang.reflect.Method.invoke(Method.java:597)
   at junit.framework.TestCase.runTest(TestCase.java:168)
   at junit.framework.TestCase.runBare(TestCase.java:134)
   at junit.framework.TestResult$1.protect(TestResult.java:110)
   at junit.framework.TestResult.runProtected(TestResult.java:128)
   at junit.framework.TestResult.run(TestResult.java:113)
   at junit.framework.TestCase.run(TestCase.java:124)
   at junit.framework.TestSuite.runTest(TestSuite.java:232)
   at junit.framework.TestSuite.run(TestSuite.java:227)
   at 
org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35)
   at 
org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
   at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138)
   at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:125)

   at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

   at java.lang.reflect.Method.invoke(Method.java:597)
   at 
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:308)
   at 
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:879)
Caused by: java.lang.NoSuchMethodException: 

Re: Test failure: CallBackSetCallbackConvTestCase

2008-06-11 Thread Raymond Feng

There are some mismatching in the exceptions. I fixed it under r666812.

Thanks,
Raymond
--
From: Raymond Feng [EMAIL PROTECTED]
Sent: Wednesday, June 11, 2008 11:54 AM
To: tuscany-dev@ws.apache.org
Subject: Test failure: CallBackSetCallbackConvTestCase


Hi, Simon Nash.

I'm seeing the following failure after I refreshed from r666738 (your fix 
for TUSCANY-2312).


Thanks,
Raymond

---
T E S T S
---
Running org.apache.tuscany.sca.test.CallBackSetCallbackConvTestCase
CallBackSetCallbackConvServiceImpl message received: Knock Knock
Entering CallBackSetCallbackObjectCallback callBackMessage: Who's There
Entering callback increment: This should do it
CallBackSetCallbackConvServiceImpl response sent
CallBackSetCallbackConvServiceImpl message received: Knock Knock
java.lang.reflect.UndeclaredThrowableException
   at $Proxy12.callBackMessage(Unknown Source)
   at 
org.apache.tuscany.sca.test.CallBackSetCallbackConvServiceImpl.knockKnock(CallBackSetCallbackConvServiceImpl.java:43)

   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

   at java.lang.reflect.Method.invoke(Method.java:597)
   at 
org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:128)
   at 
org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
   at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
   at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)

   at $Proxy11.knockKnock(Unknown Source)
   at 
org.apache.tuscany.sca.test.CallBackSetCallbackConvClientImpl.test8(CallBackSetCallbackConvClientImpl.java:108)
   at 
org.apache.tuscany.sca.test.CallBackSetCallbackConvClientImpl.run(CallBackSetCallbackConvClientImpl.java:59)

   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

   at java.lang.reflect.Method.invoke(Method.java:597)
   at 
org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:128)
   at 
org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:108)
   at 
org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
   at 
org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:108)
   at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
   at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)

   at $Proxy10.run(Unknown Source)
   at 
org.apache.tuscany.sca.test.CallBackSetCallbackConvTestCase.testCallBackSetCallback(CallBackSetCallbackConvTestCase.java:31)

   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

   at java.lang.reflect.Method.invoke(Method.java:597)
   at junit.framework.TestCase.runTest(TestCase.java:168)
   at junit.framework.TestCase.runBare(TestCase.java:134)
   at junit.framework.TestResult$1.protect(TestResult.java:110)
   at junit.framework.TestResult.runProtected(TestResult.java:128)
   at junit.framework.TestResult.run(TestResult.java:113)
   at junit.framework.TestCase.run(TestCase.java:124)
   at junit.framework.TestSuite.runTest(TestSuite.java:232)
   at junit.framework.TestSuite.run(TestSuite.java:227)
   at 
org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35)
   at 
org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
   at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138)
   at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:125)

   at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25

Test failure: org.apache.tuscany.sca.vtest.javaapi.apis.callablereference.CallableReferenceTestCase.testGetConversation()

2008-06-11 Thread Raymond Feng
Hi,

Do any of you see this failure too?

Thanks,
Raymond

org.apache.tuscany.sca.vtest.javaapi.apis.callablereference.CallableReferenceTestCase.testGetConversation()

java.lang.AssertionError: 
 at org.junit.Assert.fail(Assert.java:69)
 at org.junit.Assert.assertTrue(Assert.java:32)
 at org.junit.Assert.assertNull(Assert.java:256)
 at org.junit.Assert.assertNull(Assert.java:265)
 at 
org.apache.tuscany.sca.vtest.javaapi.apis.callablereference.impl.BComponentImpl.testNullConversation(BComponentImpl.java:67)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:133)
 at 
org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
 at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
 at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
 at $Proxy14.testNullConversation(Unknown Source)
 at 
org.apache.tuscany.sca.vtest.javaapi.apis.callablereference.CallableReferenceTestCase.testGetConversation(CallableReferenceTestCase.java:103)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
 at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
 at java.lang.reflect.Method.invoke(Method.java:597)
 at 
org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
 at 
org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
 at 
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
 at 
org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
 at org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
 at 
org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:75)
 at 
org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:36)
 at 
org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
 at 
org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
 at org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
 at 
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38)
 at 
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
 at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
 at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
 at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
 at 
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)



Re: GSoC Project - CORBA Support for Apache Tuscany

2008-06-11 Thread Raymond Feng

Hi, Wojtek.

Please see my comments inline.

Thanks,
Raymond
--
From: Wojtek Janiszewski [EMAIL PROTECTED]
Sent: Wednesday, June 11, 2008 11:55 AM
To: tuscany-dev@ws.apache.org
Subject: Re: GSoC Project - CORBA Support for Apache Tuscany


Hi,
I understand you mean to look at generated classes to determine
Java/CORBA mapping. I followed case A, using existing IDL file:
http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/modules/binding-corba/src/test/resources/general_tests.idl
and focused on interface TestObject. Generated classes are in:
http://svn.apache.org/repos/asf/incubator/tuscany/java/sca/modules/binding-corba/src/test/java/org/apache/tuscany/sca/binding/corba/testing/generated/

Example 1.
Java interface for TestObject implements TestObjectOperations,
org.omg.CORBA.Object, org.omg.CORBA.portable.IDLEntity. This means that
user should define this interface using CORBA API types. This is what
you mean?


To access an existing CORBA service with general_tests.idl, I should be able 
to use TestObject interface generated from the IDL in my SCA reference 
with binding.corba. The CORBA reference binding invoker should be able to 
marshal/marshal the data from the interface.


Another case is that Java2IDL compliant java interface (for example, the 
remote interfaces for EJB). We already have support in the binding.ejb 
module.




Example 2.
Operation:
SomeStruct setStruct(inout SomeStruct arg)
for interface TestObject uses SomeStructHolder (for passing INOUT 
argument) which implements
org.omg.CORBA.portable.Streamable. SomeStructHolder contains SomeStruct as 
a structure representation. Again, SomeStruct uses CORBA API interface - 
it implements org.omg.CORBA.portable.IDLEntity. In this case SomeStruct 
was meant to be INOUT argument, so it uses

SomeStructHolder. If SomeStruct would be declared as OUT, then again
SomeStructHolder would be used, but little different application logic
would be used - argument wouldn't be sent, but only retrieved after
operation invocation (this remaining logic is generated in stubs
and skeletons - so it's outside generated interface). This means, that
user using holders  the same way as in the generated style cannot tell
to the binding reference whether the modifier is INOUT or OUT.
This is one example of some real constraints which blocks using Java
interface hierarchy the same way as generated from idlj compiler.



OK. My understanding is that the generated java interface doesn't catch all 
the information from the IDL because some of them are in the generated 
stubs/skeletons. We probably need to decide what's the best default here. 
For example, for the Holder type, we will default to INOUT.


Another perspective is that for SCA remotable interfaces, the data exchange 
semantics is pass-by-value. In the case that @AllowsPassByReference is used, 
it only means the data is safe to pass by reference and it does NOT mandate 
pass-by-reference. So we can perfectly argue that the binding.corba doesn't 
support the INOUT and OUT arguments.



Thanks,
Wojtek

Raymond Feng wrote:

Hi,

There are two specifications in these areas.

1) Java2IDL: http://www.omg.org/docs/formal/08-01-14.pdf
2) IDL2Java: http://www.omg.org/docs/formal/08-01-11.pdf

Let's try to use a few scenarios to help us understand what rules should 
be applied.


Case A: There is an existing CORBA service (Java or C++) with IDL. Now we 
want to consume it using SCA.


Here is what I would do:
a) Run idl2java to generate a java interface (ignoring other stubs and 
skeletons) from the IDL.
b) Declare a SCA reference with binding.corba and set the interface to 
the one generated from a)
c) The Tuscany corba invoker should be able to create a request stream 
for input args and parse the response to get the return value.


The corba invoker needs to find the corba operation name from the java 
method and know how to marshal/unmarshal the parameters/return value.


Case B: We have a SCA component and we want to expose it as a CORBA 
service.


The corba service binding listener will have to unpack/pack data from the 
ServerRequest. Let's assume the component service interface is defined in 
java, then we need to follow the Java2IDL spec so that we handle the java 
parameters/return value following the CORBA IDL rules.


Ideally, the exposed CORBA service would behave as it has an IDL 
generated from rmic -idl java_interface.


Thanks,
Raymond

[snip]


Hi,
I recently submitted some code, which helps invoking remote objects. 
Mechanism for invoking remote CORBA objects is determining operation 
arguments types by Java types and I'm not sure that Java to CORBA 
mapping model I proposed is OK.


There is quite nice description of Java to CORBA mapping under [1]. It 
shows how idlj compiler creates Java structure basing on idl file and I 
believe we shouldn't precisely follow those rules and try to make them 
as simple as possible. Am I right?


1. Structures

Re: GSoC Project - CORBA Support for Apache Tuscany

2008-06-11 Thread Raymond Feng
To map CORBA exceptions (object id) to java exceptions, we can follow the 
logic in org.apache.tuscany.sca.binding.ejb.util.EJBHandler.java:


} catch (ApplicationException ex) {
   in = (InputStream)ex.getInputStream();
   try {
   org.apache.tuscany.sca.binding.ejb.corba.Java2IDLUtil.throwException(methodInfo.getMethod(), 
in);

   return null;
   } catch (Throwable e) {
   throw new RemoteException(e.getMessage(), e);
   }
   } catch (RemarshalException ex) {
   return invokeRemoteCORBACall(stub, methodName, args);
   } finally {
   stub._releaseReply(in);
   }
   } catch (SystemException ex) {
   throw Util.mapSystemException(ex);
   }

Please note 
org.apache.tuscany.sca.binding.ejb.corba.Java2IDLUtil.throwException maps 
the object id to a declared java exception.


Thanks,
Raymond
--
From: Wojtek Janiszewski [EMAIL PROTECTED]
Sent: Sunday, June 08, 2008 6:50 PM
To: tuscany-dev@ws.apache.org
Subject: Re: GSoC Project - CORBA Support for Apache Tuscany


Hi,
I've gathered all current/past issues regarding project on wiki page: 
http://cwiki.apache.org/confluence/display/TUSCANYWIKI/CORBA+reference+binding+features%2C+bugs%2C+issues

Comments are always welcome.

Thanks,
Wojtek

Wojtek Janiszewski wrote:

Wojtek Janiszewski wrote:

Simon Nash wrote:

One comment inline.

  Simon
6. If CORBA objects operation argument is object reference, then 
user should provide object which was previously obtained from 
binding or other CORBA object. User cannot use users-side object as 
an argument.




Yes. Let's don't worry object reference too much at this point. We 
are in the SOA world instead of distributed object :-).



This is OK if we are exposing a SCA service via CORBA.  If we are using
SCA to invoke existing CORBA services that expect object references
to be passed, we will need to come up with an approach for handling 
them.


I'd suggest that we start first with exposing SCA services via CORBA
as this seems to be the simplest and most useful form of integration.


Unfortunately I started earlier with reference bindings - even submitted 
a patch today.


My thoughts for object references are that after obtaining some remote 
reference, it will be enhanced by cglib and connected to users declared 
interface. By enhancing I mean interception of methods invocations and 
adding dynamic CORBA invocations. Such enhanced object could be 
recognizable by dynamic invocation mechanism, and it could be passed 
while invoking operations on remote objects.


In this solution we would have two types of CORBA objects - ones that 
were intentionally declared, and ones that were obtained from roots, and 
which are transparent. It's maybe kind of out of control by Tuscany 
runtime, but is there any other way to obtain and use CORBA references 
which are not registered in name services?


Thanks,
Wojtek



Hi,
I recently submitted some code, which helps invoking remote objects. 
Mechanism for invoking remote CORBA objects is determining operation 
arguments types by Java types and I'm not sure that Java to CORBA mapping 
model I proposed is OK.


There is quite nice description of Java to CORBA mapping under [1]. It 
shows how idlj compiler creates Java structure basing on idl file and I 
believe we shouldn't precisely follow those rules and try to make them as 
simple as possible. Am I right?


1. Structures
I proposed that CORBA structures will be Java classes, with public fields 
and no get/set methods. So every class field is member for CORBA 
structure. Or maybe we should map JavaBean classes to CORBA structures?


2. Sequences and arrays
Sequences and arrays can be mapped to Java by arrays or lists. 
Unfortunately both CORBA types behaves bit different, additionally CORBA 
arrays have fixed length so there should be possibility to distinguish 
those types somehow. For now on I cannot find any other solution, but 
annotating arrays with it's target length. Any opinions?


3. Arguments with inout/out modifiers
In CORBA, operation argument value can be changed. As we know Java 
supports passing arguments by values only, so update on argument is not 
possible. Such was solved in Java by wrapping arguments in holder 
classes, ie:


public class IntHolder {
public int value;
}

This means if user wants to get his argument updated he needs to create 
argument in holder class, which could be tough (maybe there are low-level 
techniques which allows to manipulate such arguments?).


I know I should provide some method to recognize if users class is holder 
for inout/out argument:

a. annotation
b. by implementing interface, ie:

public interface Holder {
void setValue(Object value);
Object getValue();
}

Or maybe there is some other solution? Which one should I choose?

I'll appreciate any comments. 

Re: Good practice for disabling/ignoring failing test cases

2008-06-11 Thread Raymond Feng
I think weekly report makes sense. When we try to cut a release, we would 
like to see the reports too.


Thanks,
Raymond
--
From: Luciano Resende [EMAIL PROTECTED]
Sent: Wednesday, June 11, 2008 2:49 PM
To: tuscany-dev@ws.apache.org
Subject: Re: Good practice for disabling/ignoring failing test cases


+1 for using this pattern to disable/ignore tests that are failing.

How about also running the script in an automated fashion and sending
an e-mail to the list with the results ? What would be a good interval
for running the script ?

On Wed, Jun 11, 2008 at 1:03 PM, Kevin Williams [EMAIL PROTECTED] 
wrote:

The vtest contributors get credit for this pattern! :-)  We also have
a Ruby script that scans the test source and, among other things,
lists ignored tests and the associated blocking Jiras.


On Wed, Jun 11, 2008 at 11:49 AM, Simon Laws [EMAIL PROTECTED] 
wrote:
On Wed, Jun 11, 2008 at 6:43 PM, Vamsavardhana Reddy 
[EMAIL PROTECTED]

wrote:


Thanks Raymond for pointing this out.  We never used this strategy in
Geronimo (infact, I have never put any JIRA number in any of the source
files other that Release Notes may be).  I have come across this in 
Tuscany
source code and have been following it consistently from then on. 
Should

give credit to who ever started this in Tuscany :)

++Vamsi

On Wed, Jun 11, 2008 at 11:02 PM, Raymond Feng [EMAIL PROTECTED]
wrote:

 Hi,

 I see Vamsi uses the following strategy to disable failing unit test
cases.

 @Test
 @Ignore(TUSCANY-) // Ignore the test case due to JIRA 
 TUSCANY-

 public void testMySrtuff() {
 }

 I think it's a very good practice we should follow to maintain a 
 clean

 build while keep track of the ignored failing test cases with JIRAs.

 Thanks,
 Raymond




+1 good idea

Simon







--
Luciano Resende
Apache Tuscany Committer
http://people.apache.org/~lresende
http://lresende.blogspot.com/ 




Re: Tracking Tuscany extensions, was: Distribution zips and what they contain, was: SCA runtimes

2008-06-11 Thread Raymond Feng

Hi,

There are a few patterns we use to determine if a maven module is required. 
Let's take the contribution stuff as an example.


1) contribution contains the interfaces for the contribution model and 
default implementation classes, SPIs and extension points
2) contribution-xml deals with the reading/writing the xml document for the 
sca-contribution.xml
3) contribution-java, contribution-namspace, contribution-resource deal with 
a specific perspective of the contribution, for example, namespace, java, 
resource
4) contribution-osgi, contribution-groovy support specific packaging schemes 
of the SCA contributions.


Please note there is a tree-like dependency graph. I don't think it makes 
sense to merge the siblings into one module. Since an ancestor (for example 
contribution) are shared by mulitple children (-xml, -osgi, etc), it also 
not desirable to merge the common ancestor with other modules.


For databinding related modules, we have a similar strcuture:
1) databinding: The base model, SPIs and transformers for various XML 
technologies
2) databinding-jaxb, databinding-sdo, databinding-axiom, ... The individual 
databinding technologies
3) core-databinding: A set of hook code that leverage the databinding 
framework in the invocation chains (data transformation interceptors)


We can use 1 as the data transformation utility in binding/implementation or 
even 3rd party code without 3. We can also pick one or more modules from 2.


What I'm trying to point out is that our maven module structure reflects the 
nature of the feature units and dependencies fairly well. IMO, each module 
maps well into an OSGi bundle. IMHO, both the maven module and OSGi bundle 
follow the same principles and the results should be consistent.


Thanks,
Raymond

--
From: Simon Nash [EMAIL PROTECTED]
Sent: Wednesday, June 11, 2008 12:33 PM
To: tuscany-dev@ws.apache.org
Subject: Re: Tracking Tuscany extensions, was: Distribution zips and what 
they contain, was: SCA runtimes



Comments inline.

  Simon

Rajini Sivaram wrote:

On 6/10/08, Jean-Sebastien Delfino [EMAIL PROTECTED] wrote:

ant elder wrote:


On Tue, Jun 10, 2008 at 5:37 PM, Jean-Sebastien Delfino 
[EMAIL PROTECTED] wrote:

Simon Nash wrote:

ant elder wrote:

On Tue, Jun 10, 2008 at 3:02 AM, Jean-Sebastien Delfino 

[EMAIL PROTECTED] wrote:

Jean-Sebastien Delfino wrote:
I'd like to discuss the following: What distro Zips are we 
building

and
what do they contain?

I think we could improve our distro scheme to provide:
- smaller packages
- easier for people to find what they need

I was thinking about the following binary distro zips:

- tuscany-core.zip - The base that everybody needs.
 core assembly model and runtime
 Java APIs, Java components

- tuscany-web.zip - For WS and Web developers
 WS binding, Web 2.0 bindings, Scripting components, Widget
components

- tuscany-jee.zip - For JEE app integration
 EJB, RMI and JMS bindings, Spring components

- tuscany-process.zip - For process development
 BPEL and XQuery components

- tuscany-all.zip - all of the above

Note that I'm not trying to tackle release cycles and the 
potential

for
releasing the above zips independently in this discussion and I'm

assuming

that we release all of the above together.

I'm also assuming that the relevant samples are included in each 
zip.


 This email was from 1/22/08, generated a lot of discussion for 
about

3


weeks, lots of opinions, no conclusion, no commits :)


No commits as we haven't found much consensus yet.

 I still think the same as what I had posted then, plus additional
ideas:

- Use OSGi exports/imports to export clean SPIs, hide internals, 
and


refine

the contents of the distros and their dependencies.
Disclaimer - Please don't get me wrong I'm not saying that one 
distro

==

one

OSGi bundle, as I've already said several times on the list that the
big-OSGi-bundle approach didn't make sense to me :) I just think 
that

declaring and enforcing clean dependencies using OSGi will help us
refine
the contents of each distro.

 The term enforcing seems to suggest that there might be an OSGi


dependency for the Tuscany runtime.  I don't know if this was

intended.  I think the right approach is to have a Tuscany+OSGi
runtime (as we are building in itest\osgi-tuscany) which would
actually do enforcement, and a non-OSGi Tuscany runtime in which
the exports/imports are present in the jars but not enforced.

Huh, Yes sure, we'd enforce OSGi rules when running in an OSGi

environment...


What would be the granularity of these OSGi bundles?  If the bundles

are the current maven modules, I think we will find a number of
classes that need to be exported even though these classes are not
considered part of the SPI or API that the module provides.
To resolve this I see the following options:
 a) Export more than we really believe is correct.  This
  leaves us in the current unsatisfactory position of exposing

Re: Databinding tests for array of java.net.URI

2008-06-10 Thread Raymond Feng
I think it's a problem in the test case. The resolve() cannot work with 
http://abc (which abc is treated as a host name). I changed it to 
http://abc/, then it works well.


You can simply create a test case using URIs only without Tuscany in the 
picture.


Thanks,
Raymond
--
From: Vamsavardhana Reddy [EMAIL PROTECTED]
Sent: Tuesday, June 10, 2008 2:20 AM
To: tuscany-dev@ws.apache.org
Subject: Databinding tests for array of java.net.URI


I am using the following URI's in my test:
   URI[] uris = new URI[3];
   uris[0] = URI.create(a/b/c);
   uris[1] = URI.create(http://abc;);
   uris[2] = URI.create(ftp://a/b;);

The return value from the service method is inputUri.resolve(uri).

One service method takes an uri as input and returns the changed uri as
given above.  Another method takes an array of uri as input and returns an
array of uri where each element in the returned array contains an uri 
which

is changed as given above.  The remotable service invoked over binding.sca
is able to provide expected return value for uris[1] with the method that
takes URI as argument.  But, with the method that takes URI array as
argument, the return value for uris[1] is not as expected.

In the failing case the input uri has (authority = abc, host = abc, 
path
= ) , expected uri has (authority = abc, host = abc, path = uri) 
and

the uri returned from the service method has (authority=abcuri, host =
abcuri, path = ).  I have verified through the debugger that the array
being returned by the service method has the second element as expected.
But, once the array is returned to the caller after data transformations,
the element is changed.  There definitely is a problem with the data
transformation.



Re: Databinding tests for array of java.net.URI

2008-06-10 Thread Raymond Feng

Hi,

Here is a simple test case to prove my point:

public class URITestCase {
   @Test
   public void testURI() {
   URI uri = URI.create(http://abc;);
   URI uri1 = uri.resolve(uri);
   URI uri2 = URI.create(http://abcxyz;);
   Assert.assertEquals(uri1, uri2);
   }
}

The Assert will fail, even though the uri1.toString() equals to 
uri2.toString().


Thanks,
Raymond

--
From: Vamsavardhana Reddy [EMAIL PROTECTED]
Sent: Tuesday, June 10, 2008 8:26 AM
To: tuscany-dev@ws.apache.org
Subject: Re: Databinding tests for array of java.net.URI


Hi Raymond,

Whether or not resolve() works with http://abc, I have a URI created as
URI.create(http://abc;).resolve(xyz) and java does not complain about
this URI object .  The current problem can be restated that this URI 
object

can not be passed in an array of URI objects back and forth between client
and service component in case of a remotable service.  The URI object can 
be

passed between the client and service components properly when the service
method takes an URI as argument.

++Vamsi

On Tue, Jun 10, 2008 at 8:33 PM, Raymond Feng [EMAIL PROTECTED] wrote:


I think it's a problem in the test case. The resolve() cannot work with
http://abc (which abc is treated as a host name). I changed it to
http://abc/, then it works well.

You can simply create a test case using URIs only without Tuscany in the
picture.

Thanks,
Raymond
--
From: Vamsavardhana Reddy [EMAIL PROTECTED]
Sent: Tuesday, June 10, 2008 2:20 AM
To: tuscany-dev@ws.apache.org
Subject: Databinding tests for array of java.net.URI


 I am using the following URI's in my test:

  URI[] uris = new URI[3];
  uris[0] = URI.create(a/b/c);
  uris[1] = URI.create(http://abc;);
  uris[2] = URI.create(ftp://a/b;);

The return value from the service method is inputUri.resolve(uri).

One service method takes an uri as input and returns the changed uri as
given above.  Another method takes an array of uri as input and returns 
an

array of uri where each element in the returned array contains an uri
which
is changed as given above.  The remotable service invoked over 
binding.sca
is able to provide expected return value for uris[1] with the method 
that

takes URI as argument.  But, with the method that takes URI array as
argument, the return value for uris[1] is not as expected.

In the failing case the input uri has (authority = abc, host = abc,
path
= ) , expected uri has (authority = abc, host = abc, path = uri)
and
the uri returned from the service method has (authority=abcuri, host =
abcuri, path = ).  I have verified through the debugger that the 
array

being returned by the service method has the second element as expected.
But, once the array is returned to the caller after data 
transformations,

the element is changed.  There definitely is a problem with the data
transformation.






[jira] Resolved: (TUSCANY-2377) problem reading complex property from @file

2008-06-10 Thread Raymond Feng (JIRA)

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

Raymond Feng resolved TUSCANY-2377.
---

Resolution: Fixed

Test case patch applied and the problem is fixed. 

 problem reading complex property from @file
 ---

 Key: TUSCANY-2377
 URL: https://issues.apache.org/jira/browse/TUSCANY-2377
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Core Runtime
Reporter: Scott Kurz
Assignee: Raymond Feng
 Attachments: 2377.itest.example.diff, 2377.itest.example.diff


 I'm having trouble reading a complex property from a file pointed to via the 
 property @file attr. 
 I'm using a JAXB to hold the prop value in my Java impl, but in looking at 
 this briefly in the debugger I think the problem might be in the DOM object 
 before it is ever transformed into a JAXB (in my case).
 I think the problem is in the code:
 public class JavaPropertyValueObjectFactory
 public ObjectFactory createValueFactory(Property property, Object 
 propertyValue, Class javaType) {
 ... 
 } else {
 if (isSimpleType) {
   
 } else {
 ListNode nodes = getComplexPropertyValues(doc);
 Object value = null;
 if (!nodes.isEmpty()) {
 value = nodes.get(0);
 }
 return new ObjectFactoryImpl(property, value, isSimpleType, 
 javaType);
 }
 I'm not skilled with DOM... but I think this code is expecting a wrapper 
 around the real property value, which is why we do a 
 nodes.get(0) to get the first child.   
 I think this wrapper must be there in the case that the property value is set 
 inline in the SCDL or via a Composite property definition, but I think 
 there's a wrapper missing in the case that we use @file, in which case we get 
 a raw document.
 I'll attach a patch of an existing itest adding a couple tests to to show an 
 example.

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



[jira] Assigned: (TUSCANY-2229) Got WARNING if @Context is used to annotate a setter method

2008-06-10 Thread Raymond Feng (JIRA)

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

Raymond Feng reassigned TUSCANY-2229:
-

Assignee: Raymond Feng

 Got WARNING if @Context is used to annotate a setter method
 ---

 Key: TUSCANY-2229
 URL: https://issues.apache.org/jira/browse/TUSCANY-2229
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Core Runtime
Affects Versions: Java-SCA-Next
Reporter: Gilbert Kwan
Assignee: Raymond Feng
Priority: Minor
 Fix For: Java-SCA-Next


 I got following warnings when @Context is used to annotate a setter method:
 Apr 15, 2008 11:45:18 AM
 org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1
 problem
 WARNING: No type specified on component property: BComponent/requestContext
 Apr 15, 2008 11:45:18 AM
 org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1
 problem
 WARNING: No type specified on component property: BComponent/componentContext
 Apr 15, 2008 11:45:18 AM
 org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1
 problem
 WARNING: No type specified on component property: BComponent/requestContext
 Apr 15, 2008 11:45:18 AM
 org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1
 problem
 WARNING: No type specified on component property: BComponent/componentContext
 Implementation Class:
 =
 public RequestContext requestContext;
 public ComponentContext componentContext;
 @Context
 public void setComponentContext(ComponentContext componentContext) {
this.componentContext = componentContext;
 }
 @Context
 public void setRequestContext(RequestContext requestContext) {
this.requestContext = requestContext;
 }
 Composite:
 =
 composite xmlns=http://www.osoa.org/xmlns/sca/1.0; 
targetNamespace=http://java-api-tests;
name=AB-Composite
component name=BComponent
implementation.java
 class=org.apache.tuscany.sca.vtest.javaapi.impl.BServiceImpl/
/component
 /composite
 If @Context is used to annotate a class field, there is no warning.

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



[jira] Commented: (TUSCANY-2229) Got WARNING if @Context is used to annotate a setter method

2008-06-10 Thread Raymond Feng (JIRA)

[ 
https://issues.apache.org/jira/browse/TUSCANY-2229?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12603932#action_12603932
 ] 

Raymond Feng commented on TUSCANY-2229:
---

Hi,

This is a result of declaring the two context fields as public. Tuscany takes 
them as properties. If you change them into private, then no warning is issued. 
I'll try to see if I can remove them from property list.

Thanks,
Raymond

 Got WARNING if @Context is used to annotate a setter method
 ---

 Key: TUSCANY-2229
 URL: https://issues.apache.org/jira/browse/TUSCANY-2229
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Core Runtime
Affects Versions: Java-SCA-Next
Reporter: Gilbert Kwan
Priority: Minor
 Fix For: Java-SCA-Next


 I got following warnings when @Context is used to annotate a setter method:
 Apr 15, 2008 11:45:18 AM
 org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1
 problem
 WARNING: No type specified on component property: BComponent/requestContext
 Apr 15, 2008 11:45:18 AM
 org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1
 problem
 WARNING: No type specified on component property: BComponent/componentContext
 Apr 15, 2008 11:45:18 AM
 org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1
 problem
 WARNING: No type specified on component property: BComponent/requestContext
 Apr 15, 2008 11:45:18 AM
 org.apache.tuscany.sca.assembly.builder.impl.CompositeBuilderImpl$1
 problem
 WARNING: No type specified on component property: BComponent/componentContext
 Implementation Class:
 =
 public RequestContext requestContext;
 public ComponentContext componentContext;
 @Context
 public void setComponentContext(ComponentContext componentContext) {
this.componentContext = componentContext;
 }
 @Context
 public void setRequestContext(RequestContext requestContext) {
this.requestContext = requestContext;
 }
 Composite:
 =
 composite xmlns=http://www.osoa.org/xmlns/sca/1.0; 
targetNamespace=http://java-api-tests;
name=AB-Composite
component name=BComponent
implementation.java
 class=org.apache.tuscany.sca.vtest.javaapi.impl.BServiceImpl/
/component
 /composite
 If @Context is used to annotate a class field, there is no warning.

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



Re: Tracking Tuscany extensions, was: Distribution zips and what they contain, was: SCA runtimes

2008-06-10 Thread Raymond Feng

Hi,

Please see my comments inline.

Thanks,
Raymond

[snip]
Good requirement, but I don't think that the current manifest + 
tuscany-all JAR solution is a good one (for example it mixes APIs and 
internals in the same JAR, doesn't work well with IDEs, works only for one 
big distro, requires different settings in J2SE and webapps)




IMHO, the all-in-one package pretty much defeats our modularity. For 
example, all module activators will be called even the extension won't be 
used at all. Two extension cannot have different versions of a 3rd party 
jar.



Here's what I'd like to see as a user:

- a short list of API JARs that I can add to my dev compile/build path

- a single small launcher or bootstrap JAR that takes care of 
bootstrapping the Tuscany runtime




This is similar to JEE launchClient. If I can invoke the Launcher directly 
in java, I would be happy.


- the launcher should detect the presence of installed extensions in a 
particular Tuscany installation


+1.


- as a user / app developer I should not have to know the list of JARs 
from all these extensions.


Do we expect the launcher to be smart enough to pick the right set of 
extensions based on the SCA assembly?




That's what I've been trying to do with the Node launcher and the library 
provided by the Tuscany Eclipse plugin. More work is required to get that 
vision in place (as the current launcher is still pretty rudimentary and 
only scans an installation directory for JARs).


There's a good extension registry mechanism in Eclipse Equinox [1]. It 
would allow us to rely on a robust mechanism for detecting installed 
extensions, tracking what they provide in an extension registry [2], and 
use a more user friendly syntax for registering extensions using 
plugin.xml files. If we start to integrate more with OSGi I think we 
should just use it (maybe in combination with what we currently have with 
META-INF/services for the cases where we don't use OSGi).




We can have a SPI so that different mechanism of extension discovery can be 
plugged in. I would prefer to see both OSGi and META-INF/services based 
approaches available.



[1] http://www.eclipse.org/equinox/
[2] http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.equinox.registry/

-- Sebastien 




[jira] Commented: (TUSCANY-2331) Got expection where the wsdl defines an operation without input

2008-06-10 Thread Raymond Feng (JIRA)

[ 
https://issues.apache.org/jira/browse/TUSCANY-2331?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12603975#action_12603975
 ] 

Raymond Feng commented on TUSCANY-2331:
---

I got a diferent exception. It looks like that Axis2 treats the getName 
operation as an out-only MEP (in-only for client side) and assumes the 
invocation is initiated from the server side. It doesn't expect that we try to 
create a client.

java.lang.UnsupportedOperationException: The message exchange pattern (MEP) 
http://www.w3.org/ns/wsdl/in-only has not implemented the createClient method.
at 
org.apache.axis2.description.AxisOperation.createClient(AxisOperation.java:487)
at 
org.apache.axis2.client.ServiceClient.createClient(ServiceClient.java:646)
at 
org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.createOperationClient(Axis2BindingInvoker.java:172)
at 
org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.invokeTarget(Axis2BindingInvoker.java:116)
at 
org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.invoke(Axis2BindingInvoker.java:94)
at 
org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:78)
at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
at 
org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
at $Proxy11.getName(Unknown Source)
at 
helloworld.HelloWorldServiceComponent.getName(HelloWorldServiceComponent.java:37)


 Got expection where the wsdl defines an operation without input
 ---

 Key: TUSCANY-2331
 URL: https://issues.apache.org/jira/browse/TUSCANY-2331
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Core Runtime
Affects Versions: Java-SCA-Next
Reporter: Gilbert Kwan
 Attachments: BService.wsdl


 Got following exception in running where the wsdl defines an operation 
 without input parameter.
 java.lang.IllegalArgumentException: Pass-by-value is not supported for the 
 given object
at 
 org.apache.tuscany.sca.databinding.javabeans.JavaBeansDataBinding.copy(JavaBeansDataBinding.java:102)
at 
 org.apache.tuscany.sca.databinding.DefaultDataBindingExtensionPoint$LazyDataBinding.copy(DefaultDataBindingExtensionPoint.java:171)
at 
 org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.copy(PassByValueInterceptor.java:235)
at 
 org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.copyFault(PassByValueInterceptor.java:130)
at 
 org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:115)
at 
 org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
at 
 org.apache.tuscany.sca.core.databinding.wire.PassByValueInterceptor.invoke(PassByValueInterceptor.java:108)
at 
 org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
at 
 org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
at $Proxy7.getB1Name(Unknown Source)
at 
 org.apache.tuscany.sca.vtest.wsbinding.nowsdl.NoWsdlTestCase.testNoWsdl(NoWsdlTestCase.java:62)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at 
 org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
at 
 org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
at 
 org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
at 
 org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
at 
 org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
at 
 org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:75)
at 
 org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:36)
at 
 org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
at 
 org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
at 
 org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
at 
 org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38

Re: Databinding tests for array of java.net.URI

2008-06-10 Thread Raymond Feng

What I pointed out is the following:

URI.createURI(http//abc).resolve(uri) (toString()==http://abcuri;) 
creates a non-equal instance of URI.createURI(http://abcuri;). By the 
javadoc of URI, this is violating the rules:


http://java.sun.com/j2se/1.4.2/docs/api/java/net/URI.html
Identities
For any URI u, it is always the case that
new URI(u.toString()).equals(u) .

In the test case you have, the expected is 
URI.createURI(http//abc).resolve(uri). On the server side, the impl 
method produce URI.createURI(http//abc).resolve(uri) and it get 
serialized as http://abcuri; (URI.toString()) in the XML doc. On the client 
side, the URI is unmarshalled as URI.createURI(http://abcuri;). That's why 
two instances are not equal.


Thanks,
Raymond
--
From: Vamsavardhana Reddy [EMAIL PROTECTED]
Sent: Tuesday, June 10, 2008 10:47 AM
To: tuscany-dev@ws.apache.org
Subject: Re: Databinding tests for array of java.net.URI


Raymond,

The comment junit.framework.AssertionFailedError: 
expected:http://abcuri
but was:http://abcuri I had in @Ignore in the testcase code may have 
lead

to some confusion.  I agree that uri1.equals(uri2) is not same as
uri1.toString().equals(uri2.toString()).  The issue I am trying to bring 
up,

which I guess I am unsuccessful so far, is that if I have a service method
that takes a URI and returns the same URI back, and if I invoke that
remotable service with uri1 as parameter, the value that is returned 
(say

uri3) equals uri1 (i.e. uri1.equals(uri3) is true).  If I have another
service method that takes a URI[] and returns back the same URI[] and I
invoke this method with an URI array that contains just one element uri1,
then the URI that is returned is not equal to uri1.

uri1 is creating problems when it passed to the service method as an array
element.  So, it has to be a data transformation problem.

++Vamsi

On Tue, Jun 10, 2008 at 9:23 PM, Raymond Feng [EMAIL PROTECTED] wrote:


Hi,

Here is a simple test case to prove my point:

public class URITestCase {
  @Test
  public void testURI() {
  URI uri = URI.create(http://abc;);
  URI uri1 = uri.resolve(uri);
  URI uri2 = URI.create(http://abcxyz;);
  Assert.assertEquals(uri1, uri2);
  }
}

The Assert will fail, even though the uri1.toString() equals to
uri2.toString().

Thanks,
Raymond

--
From: Vamsavardhana Reddy [EMAIL PROTECTED]
Sent: Tuesday, June 10, 2008 8:26 AM
To: tuscany-dev@ws.apache.org
Subject: Re: Databinding tests for array of java.net.URI


 Hi Raymond,


Whether or not resolve() works with http://abc, I have a URI created as
URI.create(http://abc;).resolve(xyz) and java does not complain about
this URI object .  The current problem can be restated that this URI
object
can not be passed in an array of URI objects back and forth between 
client
and service component in case of a remotable service.  The URI object 
can

be
passed between the client and service components properly when the 
service

method takes an URI as argument.

++Vamsi

On Tue, Jun 10, 2008 at 8:33 PM, Raymond Feng [EMAIL PROTECTED]
wrote:

 I think it's a problem in the test case. The resolve() cannot work with

http://abc (which abc is treated as a host name). I changed it to
http://abc/, then it works well.

You can simply create a test case using URIs only without Tuscany in 
the

picture.

Thanks,
Raymond
--
From: Vamsavardhana Reddy [EMAIL PROTECTED]
Sent: Tuesday, June 10, 2008 2:20 AM
To: tuscany-dev@ws.apache.org
Subject: Databinding tests for array of java.net.URI


 I am using the following URI's in my test:


 URI[] uris = new URI[3];
 uris[0] = URI.create(a/b/c);
 uris[1] = URI.create(http://abc;);
 uris[2] = URI.create(ftp://a/b;);

The return value from the service method is inputUri.resolve(uri).

One service method takes an uri as input and returns the changed uri 
as
given above.  Another method takes an array of uri as input and 
returns

an
array of uri where each element in the returned array contains an uri
which
is changed as given above.  The remotable service invoked over
binding.sca
is able to provide expected return value for uris[1] with the method
that
takes URI as argument.  But, with the method that takes URI array as
argument, the return value for uris[1] is not as expected.

In the failing case the input uri has (authority = abc, host = 
abc,

path
= ) , expected uri has (authority = abc, host = abc, path = 
uri)

and
the uri returned from the service method has (authority=abcuri, host 
=

abcuri, path = ).  I have verified through the debugger that the
array
being returned by the service method has the second element as 
expected.

But, once the array is returned to the caller after data
transformations,
the element is changed.  There definitely is a problem with the data
transformation.









Re: GSoC Project - CORBA Support for Apache Tuscany

2008-06-10 Thread Raymond Feng

Hi,

There are two specifications in these areas.

1) Java2IDL: http://www.omg.org/docs/formal/08-01-14.pdf
2) IDL2Java: http://www.omg.org/docs/formal/08-01-11.pdf

Let's try to use a few scenarios to help us understand what rules should be 
applied.


Case A: There is an existing CORBA service (Java or C++) with IDL. Now we 
want to consume it using SCA.


Here is what I would do:
a) Run idl2java to generate a java interface (ignoring other stubs and 
skeletons) from the IDL.
b) Declare a SCA reference with binding.corba and set the interface to the 
one generated from a)
c) The Tuscany corba invoker should be able to create a request stream for 
input args and parse the response to get the return value.


The corba invoker needs to find the corba operation name from the java 
method and know how to marshal/unmarshal the parameters/return value.


Case B: We have a SCA component and we want to expose it as a CORBA service.

The corba service binding listener will have to unpack/pack data from the 
ServerRequest. Let's assume the component service interface is defined in 
java, then we need to follow the Java2IDL spec so that we handle the java 
parameters/return value following the CORBA IDL rules.


Ideally, the exposed CORBA service would behave as it has an IDL generated 
from rmic -idl java_interface.


Thanks,
Raymond

[snip]


Hi,
I recently submitted some code, which helps invoking remote objects. 
Mechanism for invoking remote CORBA objects is determining operation 
arguments types by Java types and I'm not sure that Java to CORBA mapping 
model I proposed is OK.


There is quite nice description of Java to CORBA mapping under [1]. It 
shows how idlj compiler creates Java structure basing on idl file and I 
believe we shouldn't precisely follow those rules and try to make them as 
simple as possible. Am I right?


1. Structures
I proposed that CORBA structures will be Java classes, with public fields 
and no get/set methods. So every class field is member for CORBA 
structure. Or maybe we should map JavaBean classes to CORBA structures?


2. Sequences and arrays
Sequences and arrays can be mapped to Java by arrays or lists. 
Unfortunately both CORBA types behaves bit different, additionally CORBA 
arrays have fixed length so there should be possibility to distinguish 
those types somehow. For now on I cannot find any other solution, but 
annotating arrays with it's target length. Any opinions?


3. Arguments with inout/out modifiers
In CORBA, operation argument value can be changed. As we know Java 
supports passing arguments by values only, so update on argument is not 
possible. Such was solved in Java by wrapping arguments in holder classes, 
ie:


public class IntHolder {
public int value;
}

This means if user wants to get his argument updated he needs to create 
argument in holder class, which could be tough (maybe there are low-level 
techniques which allows to manipulate such arguments?).


I know I should provide some method to recognize if users class is holder 
for inout/out argument:

a. annotation
b. by implementing interface, ie:

public interface Holder {
void setValue(Object value);
Object getValue();
}

Or maybe there is some other solution? Which one should I choose?

I'll appreciate any comments. Just ask if you need more details.

[1] - http://members.tripod.com/gsraj/corba/chapter/

Thanks,
Wojtek 




Re: Tuscany support for Axis 1.4

2008-06-09 Thread Raymond Feng
+1 to move up. We can also start to take advantage of the latest versions of 
XmlSchema and AXIOM.


Thanks,
Raymond
--
From: ant elder [EMAIL PROTECTED]
Sent: Monday, June 09, 2008 2:17 AM
To: tuscany-dev@ws.apache.org
Subject: Re: Tuscany support for Axis 1.4


On Wed, May 14, 2008 at 1:12 PM, Lou Amodeo [EMAIL PROTECTED] wrote:


Is there a plan for Tuscany to support Axis2 1.4?




Axis2 1.4 and the associated wss4j and rampart releases for 1.4 are  all 
out

and available in the Maven repositories now. I've still a couple of issues
to resolve to get everything in the build working with 1.4 but hope to 
have

those fixed in the next day or 2 so would like to move up to 1.4 then

  ...ant



Re: [PROPOSAL] Disable unused domain modules

2008-06-09 Thread Raymond Feng

+1 to delete them to avoid further confusions.

Thanks,
Raymond

--
From: ant elder [EMAIL PROTECTED]
Sent: Monday, June 09, 2008 2:04 AM
To: tuscany-dev@ws.apache.org
Subject: Re: [PROPOSAL] Disable unused domain modules


On Mon, Jun 9, 2008 at 9:56 AM, Simon Laws [EMAIL PROTECTED]
wrote:


Hi All

Now that the new domain manager app is starting to settle down a bit I'd
like to disable the unused domain modules from the main build. They 
are...


modules/domain
modules/domain-api
modules/domain-xml
modules/node
modules/node-api
modules/node-xml

I have removed these from most of the places they were previously
referenced
with the exception of a couple of samples/itests. I propose that we break
these final dependencies and remove these modules from the main build and
from the distribution builds. The module themselves can remain in place 
for

a little while longer until we are happy the builds are stable and then I
think we can move them out to sandbox/old.

These modules are now replaced by a range of domain and node features
spread
across various modules. These are the ones I am aware of:

modules/domain-manager - represents the configured domain and provides a
web
interface to users
modules/endpoint - a plug point for late reference resolution (we don't
actually support late reference resolution yet in our runtimes.The domain
assumes that wires are known and static)
modules/implementation-node - the model that represents a configured node
in
the domain. Used to provide default binding configuration and relate
composites to nodes
modules/implementation-node-runtime
modules/implementation-node-xml
modules/node2-api - the new node implementation that reads its
configuration
from the command line or directly from the domain-manager
modules/node2-impl
modules/node2-launcher
modules/node2-launcher-webbapp
modules/runtime
modules/runtime-tomcat - deep integration with tomcat that allows 
composite

application wars to be deployed which don't contain Tuscany jars (under
development)
modules/workspace - the code behind the domain-manager contribution
processing.
modules/workspace-impl
modules/workspace-xml

Regards

Simon



+1 to removing the old modules.

I'd prefer they are deleted from the modules folder than left there just 
not

part of the build. They'll always be there in SVN history if they are ever
needed again for something.

  ...ant



Re: [NOTICE] Scott Kurz voted as Tuscany committer

2008-06-09 Thread Raymond Feng
Congratulations, Scott. 


Thanks,
Raymond

--
From: ant elder [EMAIL PROTECTED]
Sent: Monday, June 09, 2008 12:48 AM
To: tuscany-dev tuscany-dev@ws.apache.org
Subject: [NOTICE] Scott Kurz voted as Tuscany committer


The Tuscany PMC has voted for Scott Kurz to become a Tuscany committer.

Welcome Scott!

  ...ant



Re: Why the QName of service be changed?

2008-06-09 Thread Raymond Feng
The trailing / is following the JAXWS java package to XML namespace mapping 
rule.


Thanks,
Raymond
--
From: Gilbert Kwan [EMAIL PROTECTED]
Sent: Monday, June 09, 2008 9:06 AM
To: tuscany-dev@ws.apache.org
Subject: Why the QName of service be changed?


When I used 659139 build, my service qname was
{http://soapversion.nowsdl.wsbinding.vtest.sca.tuscany.apache.org}BService
When I used recent build 665707, my service qname was changed to
{http://soapversion.nowsdl.wsbinding.vtest.sca.tuscany.apache.org/}BServiceService

Why?

Gilbert 




Re: Why the QName of service be changed?

2008-06-09 Thread Raymond Feng

Hi,

I was probably confused. When you say service,  do you mean SCA service or 
the service element in the generated WSDL? My answer was for the later case.


Thanks,
Raymond
--
From: Gilbert Kwan [EMAIL PROTECTED]
Sent: Monday, June 09, 2008 9:37 AM
To: tuscany-dev@ws.apache.org
Subject: Re: Why the QName of service be changed?


Are you talking about the WS Binding Spec v1.0 line 273?
Base System URI for HTTP / Component Name / Service Name

If yes, 
{http://soapversion.nowsdl.wsbinding.vtest.sca.tuscany.apache.org/}BServiceService

still did not fit
If no, would you point me where the spec defines it?

Thanks
Gilbert


On Mon, Jun 9, 2008 at 12:23 PM, Raymond Feng [EMAIL PROTECTED] wrote:
The trailing / is following the JAXWS java package to XML namespace 
mapping

rule.

Thanks,
Raymond
--
From: Gilbert Kwan [EMAIL PROTECTED]
Sent: Monday, June 09, 2008 9:06 AM
To: tuscany-dev@ws.apache.org
Subject: Why the QName of service be changed?


When I used 659139 build, my service qname was
{http://soapversion.nowsdl.wsbinding.vtest.sca.tuscany.apache.org}BService
When I used recent build 665707, my service qname was changed to

{http://soapversion.nowsdl.wsbinding.vtest.sca.tuscany.apache.org/}BServiceService

Why?

Gilbert





Re: Why the QName of service be changed?

2008-06-09 Thread Raymond Feng
OK. I don't think the service QName in the generated WSDL has anything to do 
with the SCA service name. The WSDL service name is probably derived from 
the java interface package name and class name (@interface of 
interface.java).


BTW, why do you care the WSDL service qname? Are you trying to find the 
correct service for the WS client?


Thanks,
Raymond
--
From: Gilbert Kwan [EMAIL PROTECTED]
Sent: Monday, June 09, 2008 10:10 AM
To: tuscany-dev@ws.apache.org
Subject: Re: Why the QName of service be changed?


I defined following in my composite

component name=BComponent
   implementation.java
class=org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.impl.BServiceImpl/
   service name=BService
   interface.java
interface=org.apache.tuscany.sca.vtest.wsbinding.nowsdl.soapversion.BService/
   binding.ws/
   /service
/component

I used WSDLReader to read the generated WSDL, such as
Definition wsdl = wsdlReader.readWSDL(uri + ?wsdl);

then got the services by wsdl.getServices(). For each service, I got
qname by s.getQName().

It was returned
{http://soapversion.nowsdl.wsbinding.vtest.sca.tuscany.apache.org/}BServiceService

For old build, I got
{http://soapversion.nowsdl.wsbinding.vtest.sca.tuscany.apache.org/}BService

Which is the proper qname?

Hope the information may help to understand my question.

Thanks
Gilbert





On Mon, Jun 9, 2008 at 1:01 PM, Raymond Feng [EMAIL PROTECTED] wrote:

Hi,

I was probably confused. When you say service,  do you mean SCA service 
or
the service element in the generated WSDL? My answer was for the later 
case.


Thanks,
Raymond
--
From: Gilbert Kwan [EMAIL PROTECTED]
Sent: Monday, June 09, 2008 9:37 AM
To: tuscany-dev@ws.apache.org
Subject: Re: Why the QName of service be changed?


Are you talking about the WS Binding Spec v1.0 line 273?
   Base System URI for HTTP / Component Name / Service Name

If yes,
{http://soapversion.nowsdl.wsbinding.vtest.sca.tuscany.apache.org/}BServiceService
still did not fit
If no, would you point me where the spec defines it?

Thanks
Gilbert


On Mon, Jun 9, 2008 at 12:23 PM, Raymond Feng [EMAIL PROTECTED] 
wrote:


The trailing / is following the JAXWS java package to XML namespace
mapping
rule.

Thanks,
Raymond
--
From: Gilbert Kwan [EMAIL PROTECTED]
Sent: Monday, June 09, 2008 9:06 AM
To: tuscany-dev@ws.apache.org
Subject: Why the QName of service be changed?


When I used 659139 build, my service qname was

{http://soapversion.nowsdl.wsbinding.vtest.sca.tuscany.apache.org}BService
When I used recent build 665707, my service qname was changed to


{http://soapversion.nowsdl.wsbinding.vtest.sca.tuscany.apache.org/}BServiceService

Why?

Gilbert







Re: Build error in sca\itest\properties

2008-06-08 Thread Raymond Feng
I fixed it under r664614. When I applied the patch, I forgot to adjust the 
dependencies as the Eclipse compiled it.


Thanks,
Raymond

--
From: Vamsavardhana Reddy [EMAIL PROTECTED]
Sent: Sunday, June 08, 2008 1:47 AM
To: tuscany-dev@ws.apache.org
Subject: Build error in sca\itest\properties


I am seeing a compilation failure in sca\itest\properties.  Is anyone else
hitting this error?  Command output given below.

[INFO] Scanning for projects...
[INFO]

[INFO] Building Apache Tuscany SCA Properties Integration Tests
[INFO]task-segment: [clean, install]
[INFO]

[INFO] [clean:clean]
[INFO] Deleting directory D:\T\java\sca\itest\properties\target
[INFO] [tuscany-sdo:generate {execution: generate-customer-sdo}]
[INFO] Generating SDO interfaces from
D:\T\java\sca\itest\properties\src\main\resources\customer.xsd

 Generating code
 Generating packages
 Generating package SdoPackageImpl
 Generating Java interface com.example.customer.sdo.SdoFactory
 Generating /TargetProject/com/example/customer/sdo/SdoFactory.java
 Generating Java class com.example.customer.sdo.impl.SdoFactoryImpl
 Generating

/TargetProject/com/example/customer/sdo/impl/SdoFactoryImpl.java

 Generating Customer
 Generating Java interface com.example.customer.sdo.Customer
 Generating /TargetProject/com/example/customer/sdo/Customer.java
 Generating Java class com.example.customer.sdo.impl.CustomerImpl
 Generating

/TargetProject/com/example/customer/sdo/impl/CustomerImpl.java
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:compile]
[INFO] Compiling 26 source files to
D:\T\java\sca\itest\properties\target\classes
[INFO]

[ERROR] BUILD FAILURE
[INFO]

[INFO] Compilation failure

D:\T\java\sca\itest\properties\src\main\java\test\jaxb\props\ObjectFactory.java:[29,22]
package javax.xml.bind does not exist

D:\T\java\sca\itest\properties\src\main\java\test\jaxb\props\ObjectFactory.java:[30,33]
package javax.xml.bind.annotation does not exist

D:\T\java\sca\itest\properties\src\main\java\test\jaxb\props\ObjectFactory.java:[31,33]
package javax.xml.bind.annotation does not exist

D:\T\java\sca\itest\properties\src\main\java\test\jaxb\props\ReturnCodeProperties.java:[31,33]
package javax.xml.bind.annotation does not exist

D:\T\java\sca\itest\properties\src\main\java\test\jaxb\props\ReturnCodeProperties.java:[32,33]
package javax.xml.bind.annotation does not exist

D:\T\java\sca\itest\properties\src\main\java\test\jaxb\props\ReturnCodeProperties.java:[33,33]
package javax.xml.bind.annotation does not exist

D:\T\java\sca\itest\properties\src\main\java\test\jaxb\props\ReturnCodeProperties.java:[34,33]
package javax.xml.bind.annotation does not exist

D:\T\java\sca\itest\properties\src\main\java\test\jaxb\props\ObjectFactory.java:[74,11]
cannot find symbol
symbol  : class JAXBElement
location: class test.jaxb.props.ObjectFactory

D:\T\java\sca\itest\properties\src\main\java\test\jaxb\props\ObjectFactory.java:[49,1]
cannot find symbol
symbol: class XmlRegistry
@XmlRegistry

D:\T\java\sca\itest\properties\src\main\java\test\jaxb\props\ReturnCodeProperties.java:[57,1]
cannot find symbol
symbol: class XmlAccessorType
@XmlAccessorType(XmlAccessType.FIELD)

D:\T\java\sca\itest\properties\src\main\java\test\jaxb\props\ReturnCodeProperties.java:[58,1]
cannot find symbol
symbol: class XmlType
@XmlType(name = ReturnCodeProperties, namespace = 
http://test.sca.jaxb/rcprops;, propOrder = {

D:\T\java\sca\itest\properties\src\main\java\test\jaxb\props\ObjectFactory.java:[73,5]
cannot find symbol
symbol  : class XmlElementDecl
location: class test.jaxb.props.ObjectFactory

D:\T\java\sca\itest\properties\src\main\java\test\jaxb\props\ReturnCodeProperties.java:[64,5]
cannot find symbol
symbol  : class XmlElement
location: class test.jaxb.props.ReturnCodeProperties

D:\T\java\sca\itest\properties\src\main\java\test\jaxb\props\ReturnCodeProperties.java:[66,5]
cannot find symbol
symbol  : class XmlElement
location: class test.jaxb.props.ReturnCodeProperties

D:\T\java\sca\itest\properties\src\main\java\test\jaxb\props\package-info.java:[26,26]
package javax.xml.bind.annotation does not exist

D:\T\java\sca\itest\properties\src\main\java\test\jaxb\props\ObjectFactory.java:[75,19]
cannot find symbol
symbol  : class JAXBElement
location: class test.jaxb.props.ObjectFactory


[INFO]

[INFO] For more information, run Maven with the -e switch
[INFO]

[INFO] Total time: 6 seconds
[INFO] Finished at: Sun Jun 08 14:15:34 IST 2008
[INFO] Final 

[jira] Assigned: (TUSCANY-2377) problem reading complex property from @file

2008-06-07 Thread Raymond Feng (JIRA)

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

Raymond Feng reassigned TUSCANY-2377:
-

Assignee: Raymond Feng

 problem reading complex property from @file
 ---

 Key: TUSCANY-2377
 URL: https://issues.apache.org/jira/browse/TUSCANY-2377
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Core Runtime
Reporter: Scott Kurz
Assignee: Raymond Feng
 Attachments: 2377.itest.example.diff, 2377.itest.example.diff


 I'm having trouble reading a complex property from a file pointed to via the 
 property @file attr. 
 I'm using a JAXB to hold the prop value in my Java impl, but in looking at 
 this briefly in the debugger I think the problem might be in the DOM object 
 before it is ever transformed into a JAXB (in my case).
 I think the problem is in the code:
 public class JavaPropertyValueObjectFactory
 public ObjectFactory createValueFactory(Property property, Object 
 propertyValue, Class javaType) {
 ... 
 } else {
 if (isSimpleType) {
   
 } else {
 ListNode nodes = getComplexPropertyValues(doc);
 Object value = null;
 if (!nodes.isEmpty()) {
 value = nodes.get(0);
 }
 return new ObjectFactoryImpl(property, value, isSimpleType, 
 javaType);
 }
 I'm not skilled with DOM... but I think this code is expecting a wrapper 
 around the real property value, which is why we do a 
 nodes.get(0) to get the first child.   
 I think this wrapper must be there in the case that the property value is set 
 inline in the SCDL or via a Composite property definition, but I think 
 there's a wrapper missing in the case that we use @file, in which case we get 
 a raw document.
 I'll attach a patch of an existing itest adding a couple tests to to show an 
 example.

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



[jira] Assigned: (TUSCANY-2371) Databinding tests for StandardTypes, array of StandardTypes

2008-06-06 Thread Raymond Feng (JIRA)

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

Raymond Feng reassigned TUSCANY-2371:
-

Assignee: Raymond Feng  (was: Vamsavardhana Reddy)

 Databinding tests for StandardTypes, array of StandardTypes
 ---

 Key: TUSCANY-2371
 URL: https://issues.apache.org/jira/browse/TUSCANY-2371
 Project: Tuscany
  Issue Type: Test
  Components: Java SCA Integration Tests
Affects Versions: Java-SCA-Next
Reporter: Vamsavardhana Reddy
Assignee: Raymond Feng
 Fix For: Java-SCA-Next

 Attachments: TUSCANY-2371.patch


 Databinding itests for StandardTypes and array of StandardTypes.  Local and 
 remotable service.  See [1].
 JAXB Spec v2.1 - Sec 8.5.2Java Standard Classes:
 java.lang.String
 java.math.BigInteger
 java.math.BigDecimal
 java.util.Calendar
 java.util.Date
 javax.xml.namespace.QName
 java.net.URI
 javax.xml.datatype.XMLGregorianCalendar
 javax.xml.datatype.Duration
 java.lang.Object
 java.awt.Image
 javax.activation.DataHandler
 javax.xml.transform.Source
 java.util.UUID
 [1] http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Databinding+Scope

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



[jira] Assigned: (TUSCANY-2361) Databinding tests for primitives and primitive arrays - local service, pass-by-value tests

2008-06-06 Thread Raymond Feng (JIRA)

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

Raymond Feng reassigned TUSCANY-2361:
-

Assignee: Raymond Feng

 Databinding tests for primitives and primitive arrays - local service, 
 pass-by-value tests
 --

 Key: TUSCANY-2361
 URL: https://issues.apache.org/jira/browse/TUSCANY-2361
 Project: Tuscany
  Issue Type: Test
  Components: Java SCA Integration Tests
Affects Versions: Java-SCA-Next
Reporter: Vamsavardhana Reddy
Assignee: Raymond Feng
 Fix For: Java-SCA-Next

 Attachments: TUSCANY-2361.patch


 TUSCANY-2350 added databinding tests for primitives and primitive arrays 
 using a remotable service.  The same tests need to be done for a local 
 service too (see [1]).  Also, the pass-by-value semantics does not seem to be 
 working for byte array.  It is a good idea to add tests for pass-by-value for 
 byte array and arrays of other primitive types.
 [1] http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Databinding+Scope

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



[jira] Commented: (TUSCANY-2371) Databinding tests for StandardTypes, array of StandardTypes

2008-06-06 Thread Raymond Feng (JIRA)

[ 
https://issues.apache.org/jira/browse/TUSCANY-2371?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12603160#action_12603160
 ] 

Raymond Feng commented on TUSCANY-2371:
---

I applied the 1st patch and fixed a bunch of the issues.

 Databinding tests for StandardTypes, array of StandardTypes
 ---

 Key: TUSCANY-2371
 URL: https://issues.apache.org/jira/browse/TUSCANY-2371
 Project: Tuscany
  Issue Type: Test
  Components: Java SCA Integration Tests
Affects Versions: Java-SCA-Next
Reporter: Vamsavardhana Reddy
Assignee: Raymond Feng
 Fix For: Java-SCA-Next

 Attachments: TUSCANY-2371.patch


 Databinding itests for StandardTypes and array of StandardTypes.  Local and 
 remotable service.  See [1].
 JAXB Spec v2.1 - Sec 8.5.2Java Standard Classes:
 java.lang.String
 java.math.BigInteger
 java.math.BigDecimal
 java.util.Calendar
 java.util.Date
 javax.xml.namespace.QName
 java.net.URI
 javax.xml.datatype.XMLGregorianCalendar
 javax.xml.datatype.Duration
 java.lang.Object
 java.awt.Image
 javax.activation.DataHandler
 javax.xml.transform.Source
 java.util.UUID
 [1] http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Databinding+Scope

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



[jira] Resolved: (TUSCANY-2361) Databinding tests for primitives and primitive arrays - local service, pass-by-value tests

2008-06-06 Thread Raymond Feng (JIRA)

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

Raymond Feng resolved TUSCANY-2361.
---

Resolution: Fixed

Patch applied under r664103. Thanks,

 Databinding tests for primitives and primitive arrays - local service, 
 pass-by-value tests
 --

 Key: TUSCANY-2361
 URL: https://issues.apache.org/jira/browse/TUSCANY-2361
 Project: Tuscany
  Issue Type: Test
  Components: Java SCA Integration Tests
Affects Versions: Java-SCA-Next
Reporter: Vamsavardhana Reddy
Assignee: Raymond Feng
 Fix For: Java-SCA-Next

 Attachments: TUSCANY-2361.patch


 TUSCANY-2350 added databinding tests for primitives and primitive arrays 
 using a remotable service.  The same tests need to be done for a local 
 service too (see [1]).  Also, the pass-by-value semantics does not seem to be 
 working for byte array.  It is a good idea to add tests for pass-by-value for 
 byte array and arrays of other primitive types.
 [1] http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Databinding+Scope

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



Re: ExtensibleStAXArtifactProcessor should register error when unsupported implementation or binding types are found

2008-06-04 Thread Raymond Feng
I believe that we log a warning that an unknown element is encountered. 
Isn't it sufficient?


Thanks,
Raymond
--
From: Ramkumar R [EMAIL PROTECTED]
Sent: Wednesday, June 04, 2008 4:37 AM
To: tuscany-dev@ws.apache.org
Subject: Re: ExtensibleStAXArtifactProcessor should register error when 
unsupported implementation or binding types are found



Hi Hasan,

The ideal place to catch these exceptions seems to be in the
ExtensibleStAXArtifactProcessor read method, i think it would not be
possible to categorize the exception based on implementation and binding 
at

this stage.

I believe it would be possible to throw a generic exception saying that 
this

element is not supported by the runtime as it does not have a suitable
processor to proceed.

Let me know your say on this. Thanks.
On 6/3/08, Hasan Muhammad [EMAIL PROTECTED] wrote:


Hi Simon,

I have raised JIRA 2365 to address this issue.

regards
Hasan





--
Thanks  Regards,
Ramkumar Ramalingam



Re: Changing SCA trunk version from 2.0-incubating-SNAPSHOT to SNAPSHOT

2008-06-04 Thread Raymond Feng

Hi,

Luciano had a good point that if we keep the version prefix for the 
SNAPSHOT, we can publish them onto the snapshot repos so that other projects 
can use it. +1 to keep the version prefix.


Thanks,
Raymond
--
From: Luciano Resende [EMAIL PROTECTED]
Sent: Wednesday, June 04, 2008 9:59 AM
To: tuscany-dev@ws.apache.org
Subject: Re: Changing SCA trunk version from 2.0-incubating-SNAPSHOT to 
SNAPSHOT



The good thing about having a version on the pom is that you can have
multiple SNAPSHOTs available in a maven repo (e.g 1.2-SNAPSHOT,
1.2.1-SNAPSHOT, TRUNK x-SNAPSHOT and TRUNK y-SNAPSHOT), this also
allows for multiple active development streams.

If you have SNAPSHOT only, I guess you are restricted to only latest
SNAPSHOT, and I also don't see how you would be able to have multiple
active development streams in this case.

As for what's our next release, I think this is decided when we cut a
branch and our SNAPSHOT pom version should not be dictating it. I
guess having 2.0-SNAPSHOT would just allow us to have multiple
releases without having to change trunk pom multiple times, and only
changing the branch when we know what would be the version of the
release, otherwise, we would have to bum trunk version on every
release.

Thoughts ?

On Wed, Jun 4, 2008 at 7:33 AM, Simon Laws [EMAIL PROTECTED] 
wrote:

On Wed, Jun 4, 2008 at 1:34 PM, Giorgio Zoppi [EMAIL PROTECTED] wrote:


2008/6/4 ant elder [EMAIL PROTECTED]:
 Currently the trunk has a version of 2.0-incubating-SNAPSHOT, we need 
 to

 remove incubating at some point and as its not clear if the next
release
 would be 2.0 or something else so i wondered if we should also remove 
 the
 2.0 giving a trunk version of simply SNAPSHOT? Any comments on that 
 or

the
 timeframe for doing the change? I'd like to do it nowish so we have 
 some

 time to discover any problems before the next release.

   ...ant


Hi ant,
could you try a fresh build from svn?
I've some problems with and I 'd go on with my work before we're
arriving to 2.0.


Ciao,
Giorgio.
---
Venceremos adelante, o victoria o muerte!



I agree that it doesn't feel like the next release will be 2.0
I would prefer that we keep the trunk compatible with our 1.X level APIs 
for

the time being as it feels like there is still a more 1.X releases to do
If people are going to start making breaking changes in a branch (we
discussed this under the 2.0 thread but it's not happening yet) then it
would be useful to me to have the trunk poms marked with 1.X SNAPSHOT so
that I know by looking on my disc what I'm working with
When (if?) the time comes down the line to break from our 1.X APIs we 
could

then go to SNAPSHOT  or 2.0 SNAPSHOT

Regards

Simon





--
Luciano Resende
Apache Tuscany Committer
http://people.apache.org/~lresende
http://lresende.blogspot.com/ 




[jira] Resolved: (TUSCANY-2349) TransformationException when invoking a method with byte array paramter using webservice binding

2008-06-04 Thread Raymond Feng (JIRA)

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

Raymond Feng resolved TUSCANY-2349.
---

Resolution: Fixed

The test case is now passed.

 TransformationException when invoking a method with byte array paramter using 
 webservice binding
 

 Key: TUSCANY-2349
 URL: https://issues.apache.org/jira/browse/TUSCANY-2349
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Axis Binding Extension, Java SCA Data Binding 
 Runtime
Affects Versions: Java-SCA-Next
Reporter: Vamsavardhana Reddy
Assignee: Raymond Feng

 I have a service method that takes a byte array as parameter and returns a 
 byte array.  When I invoke the method using webservice binding, I am getting 
 a TransformationException: No path found for the transformation: 
 java:simpleType-java:array.
 The stacktrace is given below:
 org.apache.tuscany.sca.databinding.TransformationException: No path found for 
 the transformation: java:simpleType-java:array
   at 
 org.apache.tuscany.sca.databinding.impl.MediatorImpl.getTransformerChain(MediatorImpl.java:163)
   at 
 org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:67)
   at 
 org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:152)
   at 
 org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:1)
   at 
 org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:79)
   at 
 org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.transform(DataTransformationInterceptor.java:186)
   at 
 org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:76)
   at 
 org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
   at 
 org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
   at $Proxy11.negateByteArray(Unknown Source)
   at 
 org.apache.tuscany.sca.itest.databindings.jaxb.impl.PrimitivesServiceClientImpl.negateByteArrayForward(PrimitivesServiceClientImpl.java:54)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at 
 org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:110)
   at 
 org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
   at 
 org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
   at 
 org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
   at $Proxy10.negateByteArrayForward(Unknown Source)
   at 
 org.apache.tuscany.sca.itest.databindings.jaxb.PrimitivesDatabindingTestCase.performTestNegateByteArray(PrimitivesDatabindingTestCase.java:372)
   at 
 org.apache.tuscany.sca.itest.databindings.jaxb.PrimitivesDatabindingTestCase.testWSNegateByteArray(PrimitivesDatabindingTestCase.java:236)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at 
 org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
   at 
 org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
   at 
 org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
   at 
 org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
   at 
 org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
   at 
 org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:75)
   at 
 org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:36)
   at 
 org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
   at 
 org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
   at 
 org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
   at 
 org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run

Re: JAXWSJavaInterfaceProcessorTestCase fail?

2008-06-02 Thread Raymond Feng

I'll try the SUN JDK.

Thanks,
Raymond

--
From: ant elder [EMAIL PROTECTED]
Sent: Monday, June 02, 2008 1:08 AM
To: tuscany-dev@ws.apache.org
Subject: Re: JAXWSJavaInterfaceProcessorTestCase fail?

Looks like this is a jdk issue, works ok with IBM JDK5 but always fails 
for

me with the Sun JDK.

  ...ant

On Mon, Jun 2, 2008 at 8:50 AM, Simon Laws [EMAIL PROTECTED]
wrote:




On Mon, Jun 2, 2008 at 8:32 AM, ant elder [EMAIL PROTECTED] wrote:


On a fresh check out I'm getting a failure in
JAXWSJavaInterfaceProcessorTestCase, anyone else seeing that or is it 
just

me?

  ...ant


testProcessor(org.apache.tuscany.sca.interfacedef.java.jaxws.JAXWSJavaInterfaceProcessorTestCase)
Time elapsed: 0.046 s
ec   FAILURE!
junit.framework.AssertionFailedError: null
   at junit.framework.Assert.fail(Assert.java:47)
   at junit.framework.Assert.assertTrue(Assert.java:20)
   at junit.framework.Assert.assertTrue(Assert.java:27)
   at

org.apache.tuscany.sca.interfacedef.java.jaxws.JAXWSJavaInterfaceProcessorTestCase.testProcessor(JAXWSJavaInt
erfaceProcessorTestCase.java:80)



Failed for me also first time through with mvn -o. Just tried building 
that
module independently with mvn clean and then mvn and it appears to 
work.So

I'll try another build and see what happens.

Simon





Re: JAXWSJavaInterfaceProcessorTestCase fail?

2008-06-02 Thread Raymond Feng
Now it should be fixed under r662499. There was a typo in the code that led 
to JDK dependent behaviors (ordering in the Class.getMethods()).


Thanks,
Raymond
--
From: ant elder [EMAIL PROTECTED]
Sent: Monday, June 02, 2008 2:37 AM
To: tuscany-dev@ws.apache.org
Subject: Re: JAXWSJavaInterfaceProcessorTestCase fail?


Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_15-b04)

  ...ant

On Mon, Jun 2, 2008 at 10:30 AM, Mike Edwards 
[EMAIL PROTECTED] wrote:


ant elder wrote:


Looks like this is a jdk issue, works ok with IBM JDK5 but always fails
for
me with the Sun JDK.

  ...ant

On Mon, Jun 2, 2008 at 8:50 AM, Simon Laws [EMAIL PROTECTED]
wrote:



On Mon, Jun 2, 2008 at 8:32 AM, ant elder [EMAIL PROTECTED] wrote:

 On a fresh check out I'm getting a failure in

JAXWSJavaInterfaceProcessorTestCase, anyone else seeing that or is it
just
me?

 ...ant



testProcessor(org.apache.tuscany.sca.interfacedef.java.jaxws.JAXWSJavaInterfaceProcessorTestCase)
Time elapsed: 0.046 s
ec   FAILURE!
junit.framework.AssertionFailedError: null
  at junit.framework.Assert.fail(Assert.java:47)
  at junit.framework.Assert.assertTrue(Assert.java:20)
  at junit.framework.Assert.assertTrue(Assert.java:27)
  at


org.apache.tuscany.sca.interfacedef.java.jaxws.JAXWSJavaInterfaceProcessorTestCase.testProcessor(JAXWSJavaInt
erfaceProcessorTestCase.java:80)

 Failed for me also first time through with mvn -o. Just tried 
building

that
module independently with mvn clean and then mvn and it appears to
work.So
I'll try another build and see what happens.

Simon



 Ant,


Which level of the Sun JDK are you using?

Is this a JAXB level issue?  Sun changed horses on JAXB during the 6.0
releases


Yours,  Mike.





Re: [NOTICE] Vamsavardhana Reddy voted as Tuscany committer

2008-06-02 Thread Raymond Feng

Congratulations! You are well deserved.

Thanks,
Raymond

--
From: Vamsavardhana Reddy [EMAIL PROTECTED]
Sent: Monday, June 02, 2008 11:15 AM
To: tuscany-dev@ws.apache.org; [EMAIL PROTECTED]
Subject: Re: [NOTICE] Vamsavardhana Reddy voted as Tuscany committer


Thank you for this great news.  And thanks to Tuscany PMC for this
recognition.

++Vamsi

On Mon, Jun 2, 2008 at 11:32 PM, ant elder [EMAIL PROTECTED] wrote:


The Tuscany PMC has voted for Vamsavardhana Reddy to become a Tuscany
committer.

Congratulations and welcome!

  ...ant





[jira] Assigned: (TUSCANY-2356) Databinding itests for Local service

2008-05-31 Thread Raymond Feng (JIRA)

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

Raymond Feng reassigned TUSCANY-2356:
-

Assignee: Raymond Feng

 Databinding itests for Local service
 

 Key: TUSCANY-2356
 URL: https://issues.apache.org/jira/browse/TUSCANY-2356
 Project: Tuscany
  Issue Type: Test
  Components: Java SCA Integration Tests
Affects Versions: Java-SCA-Next
Reporter: Vamsavardhana Reddy
Assignee: Raymond Feng
 Fix For: Java-SCA-Next

 Attachments: TUSCANY-2356.patch


 Databinding itests added by TUSCANY-2340 deal with only @Remotable service.  
 This JIRA is for itests for Local service.  See [1].
 [1] http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Databinding+Scope

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



[jira] Resolved: (TUSCANY-2356) Databinding itests for Local service

2008-05-31 Thread Raymond Feng (JIRA)

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

Raymond Feng resolved TUSCANY-2356.
---

Resolution: Fixed

Patch applied under r662091. Thanks for the contribution!

 Databinding itests for Local service
 

 Key: TUSCANY-2356
 URL: https://issues.apache.org/jira/browse/TUSCANY-2356
 Project: Tuscany
  Issue Type: Test
  Components: Java SCA Integration Tests
Affects Versions: Java-SCA-Next
Reporter: Vamsavardhana Reddy
Assignee: Raymond Feng
 Fix For: Java-SCA-Next

 Attachments: TUSCANY-2356.patch


 Databinding itests added by TUSCANY-2340 deal with only @Remotable service.  
 This JIRA is for itests for Local service.  See [1].
 [1] http://cwiki.apache.org/confluence/display/TUSCANYWIKI/Databinding+Scope

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



[jira] Resolved: (TUSCANY-2350) Databinding tests for primitive types and array of primitive types

2008-05-31 Thread Raymond Feng (JIRA)

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

Raymond Feng resolved TUSCANY-2350.
---

Resolution: Fixed

Patch applied under r662091. Thanks for the contribution!

 Databinding tests for primitive types and array of primitive types
 --

 Key: TUSCANY-2350
 URL: https://issues.apache.org/jira/browse/TUSCANY-2350
 Project: Tuscany
  Issue Type: Test
  Components: Java SCA Integration Tests
Affects Versions: Java-SCA-Next
Reporter: Vamsavardhana Reddy
Assignee: Raymond Feng
 Fix For: Java-SCA-Next

 Attachments: TUSCANY-2350.patch


 Databinding tests for primitive types and array of primitive types

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



Re: Incorrect wsdl generated with ?wsdl for a service operation with two dimensional String array parameter

2008-05-31 Thread Raymond Feng

Hi,

I have made promising processes in this area. The key is to follow the JAXWS 
mapping rules to find or generate (I have added ASM-code generation) 
corresponding RequestWrapper, ResponseWrapper and FaultBeanWrapper for a 
give java method. With the wrappers in place, we don't have to handle 
individual arguments. Instead, we use the JAXB context containing the 
wrapper classes to generate the XSD in one shot.


Please see 
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/modules/interface-java-jaxws/src/test/java/org/apache/tuscany/sca/interfacedef/java/jaxws/WrapperBeanGeneratorTestCase. 
You'll find it very simple.


Thanks,
Raymond

--
From: Simon Nash [EMAIL PROTECTED]
Sent: Friday, May 30, 2008 2:37 PM
To: tuscany-dev@ws.apache.org
Subject: Re: Incorrect wsdl generated with ?wsdl for a service operation 
with two dimensional String array parameter



Vamsavardhana Reddy wrote:
I have a service operation String[][] getGreetingsArray2(String[][] 
names).
I am using interface.java in my service element in the composite.  When 
the
service uses a webservice binding, I get the following wsdl using ?wsdl 
on

the endpoint url.

wsdl:definitions 
wsdl:types
xs:schema attributeFormDefault=qualified
elementFormDefault=qualified
targetNamespace=
http://jaxb.databindings.itest.sca.tuscany.apache.org/;
xmlns:ns0=http://util.java/;
xmlns:xs=http://www.w3.org/2001/XMLSchema;
xs:element name=getGreetingsArray2
xs:complexType
xs:sequence
xs:element maxOccurs=unbounded minOccurs=0
name=arg0 nillable=true type=xs:string 
/

/xs:sequence
/xs:complexType
/xs:element
xs:element name=getGreetingsArray2Response
xs:complexType
xs:sequence
xs:element maxOccurs=unbounded minOccurs=0
name=return nillable=true 
type=xs:string

/
/xs:sequence
/xs:complexType
/xs:element
...
/xs:schema
/wsdl:types

/wsdl:definitions

Notice that the types correspond to String[] and not String[][].

I have added @WebMethod public String[][] getGreetingsArray2(String[][]
names) to MyServiceImpl class in sca\modules\interface-java-jaxws and 
used

jaxws-maven-plugin to generate the wsdl.

MyServiceImplService.wsdl has
  types
xsd:schema
  xsd:import namespace=
http://jaxws.java.interfacedef.sca.tuscany.apache.org/;
schemaLocation=MyServiceImplService_schema1.xsd/
/xsd:schema
xsd:schema
  xsd:import namespace=http://jaxb.dev.java.net/array;
schemaLocation=MyServiceImplService_schema2.xsd/
/xsd:schema
  /types

MyServiceImplService_schema2.xsd has
  xs:complexType name=stringArray final=#all
xs:sequence
  xs:element name=item type=xs:string minOccurs=0
maxOccurs=unbounded nillable=true/
/xs:sequence
  /xs:complexType

MyServiceImplService_schema1.xsd has
  xs:complexType name=getGreetingsArray2
xs:sequence
  xs:element name=arg0 type=ns1:stringArray nillable=true
minOccurs=0 maxOccurs=unbounded/
/xs:sequence
  /xs:complexType
  xs:complexType name=getGreetingsArray2Response
xs:sequence
  xs:element name=return type=ns1:stringArray nillable=true
minOccurs=0 maxOccurs=unbounded/
/xs:sequence
  /xs:complexType

In other words jaxws-maven-plugin seems to generate proper types for
String[][].

There seems to be a problem with the code that generates wsdl when ?wsdl 
is

used on the endpoint url.

++Vamsi


This support is not yet implemented in the new runtime Java2WSDL
mapping code.  Please open a JIRA for this and I will look at it.
Thanks.

  Simon



[jira] Assigned: (TUSCANY-2349) TransformationException when invoking a method with byte array paramter using webservice binding

2008-05-30 Thread Raymond Feng (JIRA)

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

Raymond Feng reassigned TUSCANY-2349:
-

Assignee: Raymond Feng

 TransformationException when invoking a method with byte array paramter using 
 webservice binding
 

 Key: TUSCANY-2349
 URL: https://issues.apache.org/jira/browse/TUSCANY-2349
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Axis Binding Extension, Java SCA Data Binding 
 Runtime
Affects Versions: Java-SCA-Next
Reporter: Vamsavardhana Reddy
Assignee: Raymond Feng

 I have a service method that takes a byte array as parameter and returns a 
 byte array.  When I invoke the method using webservice binding, I am getting 
 a TransformationException: No path found for the transformation: 
 java:simpleType-java:array.
 The stacktrace is given below:
 org.apache.tuscany.sca.databinding.TransformationException: No path found for 
 the transformation: java:simpleType-java:array
   at 
 org.apache.tuscany.sca.databinding.impl.MediatorImpl.getTransformerChain(MediatorImpl.java:163)
   at 
 org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:67)
   at 
 org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:152)
   at 
 org.apache.tuscany.sca.core.databinding.transformers.Input2InputTransformer.transform(Input2InputTransformer.java:1)
   at 
 org.apache.tuscany.sca.databinding.impl.MediatorImpl.mediate(MediatorImpl.java:79)
   at 
 org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.transform(DataTransformationInterceptor.java:186)
   at 
 org.apache.tuscany.sca.core.databinding.wire.DataTransformationInterceptor.invoke(DataTransformationInterceptor.java:76)
   at 
 org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
   at 
 org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
   at $Proxy11.negateByteArray(Unknown Source)
   at 
 org.apache.tuscany.sca.itest.databindings.jaxb.impl.PrimitivesServiceClientImpl.negateByteArrayForward(PrimitivesServiceClientImpl.java:54)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at 
 org.apache.tuscany.sca.implementation.java.invocation.JavaImplementationInvoker.invoke(JavaImplementationInvoker.java:110)
   at 
 org.apache.tuscany.sca.binding.sca.impl.SCABindingInvoker.invoke(SCABindingInvoker.java:61)
   at 
 org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:286)
   at 
 org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:154)
   at $Proxy10.negateByteArrayForward(Unknown Source)
   at 
 org.apache.tuscany.sca.itest.databindings.jaxb.PrimitivesDatabindingTestCase.performTestNegateByteArray(PrimitivesDatabindingTestCase.java:372)
   at 
 org.apache.tuscany.sca.itest.databindings.jaxb.PrimitivesDatabindingTestCase.testWSNegateByteArray(PrimitivesDatabindingTestCase.java:236)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at 
 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
   at 
 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
   at java.lang.reflect.Method.invoke(Method.java:585)
   at 
 org.junit.internal.runners.TestMethodRunner.executeMethodBody(TestMethodRunner.java:99)
   at 
 org.junit.internal.runners.TestMethodRunner.runUnprotected(TestMethodRunner.java:81)
   at 
 org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
   at 
 org.junit.internal.runners.TestMethodRunner.runMethod(TestMethodRunner.java:75)
   at 
 org.junit.internal.runners.TestMethodRunner.run(TestMethodRunner.java:45)
   at 
 org.junit.internal.runners.TestClassMethodsRunner.invokeTestMethod(TestClassMethodsRunner.java:75)
   at 
 org.junit.internal.runners.TestClassMethodsRunner.run(TestClassMethodsRunner.java:36)
   at 
 org.junit.internal.runners.TestClassRunner$1.runUnprotected(TestClassRunner.java:42)
   at 
 org.junit.internal.runners.BeforeAndAfterRunner.runProtected(BeforeAndAfterRunner.java:34)
   at 
 org.junit.internal.runners.TestClassRunner.run(TestClassRunner.java:52)
   at 
 org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:38

[jira] Assigned: (TUSCANY-2350) Databinding tests for primitive types and array of primitive types

2008-05-30 Thread Raymond Feng (JIRA)

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

Raymond Feng reassigned TUSCANY-2350:
-

Assignee: Raymond Feng

 Databinding tests for primitive types and array of primitive types
 --

 Key: TUSCANY-2350
 URL: https://issues.apache.org/jira/browse/TUSCANY-2350
 Project: Tuscany
  Issue Type: Test
  Components: Java SCA Integration Tests
Affects Versions: Java-SCA-Next
Reporter: Vamsavardhana Reddy
Assignee: Raymond Feng
 Fix For: Java-SCA-Next

 Attachments: TUSCANY-2350.patch


 Databinding tests for primitive types and array of primitive types

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



Re: Build failure in sca\modules\databinding-jaxb

2008-05-29 Thread Raymond Feng

Hi,

It's my fault. I'll fix it (by removing WebServiceException slipped into the 
code).


Thanks,
Raymond
--
From: Vamsavardhana Reddy [EMAIL PROTECTED]
Sent: Thursday, May 29, 2008 9:39 PM
To: tuscany-dev@ws.apache.org
Subject: Re: Build failure in sca\modules\databinding-jaxb


Has anyone else hit this build error?  The error is fixed after adding
   dependency
   groupIdjavax.xml.ws/groupId
   artifactIdjaxws-api/artifactId
   version2.1/version
   /dependency

to sca\modules\databinding-jaxb\pom.xml.

Is this a required dependency?

++Vamsi

On Fri, May 30, 2008 at 9:52 AM, Vamsavardhana Reddy [EMAIL PROTECTED]
wrote:


Hi,

I am hitting a build failure in sca\modules\databinding-jaxb.  Can 
someone

help?  The console output is given below.

++Vamsi


[INFO]
-
---
[INFO] Building Apache Tuscany SCA Data Binding for JAXB
[INFO]task-segment: [install]
[INFO]
-
---
[INFO] artifact org.apache.maven.plugins:maven-resources-plugin: checking
for up
dates from java.net2
[INFO] artifact org.apache.maven.plugins:maven-install-plugin: checking 
for

upda
tes from java.net2
[INFO] [dependency:copy {execution: copy}]
[INFO] Configured Artifact: javax.xml.bind:jaxb-api:2.1:jar
[INFO] javax.xml.bind:jaxb-api:2.1:jar already exists in
D:\T\java\sca\modules\d
atabinding-jaxb\target\endorsed
[INFO] [build-helper:add-test-source {execution: add-test-source}]
[INFO] Test Source directory:
D:\T\java\sca\modules\databinding-jaxb\target\jaxb
-source added.
[INFO] snapshot
org.apache.tuscany.sca:tuscany-modules:2.0-incubating-SNAPSHOT:
checking for updates from java.net
[INFO] snapshot
org.apache.tuscany.sca:tuscany-modules:2.0-incubating-SNAPSHOT:
checking for updates from apache.incubator
[INFO] snapshot
org.apache.tuscany.sca:tuscany-modules:2.0-incubating-SNAPSHOT:
checking for updates from indiana
[INFO] snapshot
org.apache.tuscany.sca:tuscany-modules:2.0-incubating-SNAPSHOT:
checking for updates from osuosl.org
[INFO] snapshot
org.apache.tuscany.sca:tuscany-modules:2.0-incubating-SNAPSHOT:
checking for updates from apache.snapshots
[INFO] snapshot 
org.apache.tuscany.sca:tuscany-sca:2.0-incubating-SNAPSHOT:

chec
king for updates from java.net
[INFO] snapshot 
org.apache.tuscany.sca:tuscany-sca:2.0-incubating-SNAPSHOT:

chec
king for updates from apache.incubator
[INFO] snapshot 
org.apache.tuscany.sca:tuscany-sca:2.0-incubating-SNAPSHOT:

chec
king for updates from indiana
[INFO] snapshot 
org.apache.tuscany.sca:tuscany-sca:2.0-incubating-SNAPSHOT:

chec
king for updates from osuosl.org
[INFO] snapshot 
org.apache.tuscany.sca:tuscany-sca:2.0-incubating-SNAPSHOT:

chec
king for updates from apache.snapshots
[INFO] [jaxb2:generate {execution: generate-jaxb}]
[INFO] Skipped XJC execution.  Generated sources were up-to-date.
[INFO] [resources:resources]
[INFO] Using default encoding to copy filtered resources.
[INFO] [compiler:compile]
[INFO] Compiling 27 source files to
D:\T\java\sca\modules\databinding-jaxb\targe
t\classes
[INFO]

[ERROR] BUILD FAILURE
[INFO]

[INFO] Compilation failure


D:\T\java\sca\modules\databinding-jaxb\src\main\java\org\apache\tuscany\sca\data
binding\jaxb\DataConverter.java:[46,20] package javax.xml.ws does not
exist


D:\T\java\sca\modules\databinding-jaxb\src\main\java\org\apache\tuscany\sca\data
binding\jaxb\DataConverter.java:[173,69] cannot find symbol
symbol  : class WebServiceException
location: class org.apache.tuscany.sca.databinding.jaxb.DataConverter


[INFO]

[INFO] For more information, run Maven with the -e switch
[INFO]

[INFO] Total time: 17 seconds
[INFO] Finished at: Fri May 30 09:48:58 IST 2008
[INFO] Final Memory: 15M/28M
[INFO]






BPEL test case failures on Linux, was: Re: BPEL Implementation: Latest changes mean no need for deploy.xml !!

2008-05-28 Thread Raymond Feng

I'm seeing the same issue with:

java version 1.6.0_06
Java(TM) SE Runtime Environment (build 1.6.0_06-b02)
Java HotSpot(TM) Server VM (build 10.0-b22, mixed mode)

Maven version: 2.0.9
Java version: 1.6.0_06
OS name: linux version: 2.6.18-8.el5 arch: i386 Family: unix

Redhat Enterprise 5.x

Thanks,
Raymond
--
From: Jean-Sebastien Delfino [EMAIL PROTECTED]
Sent: Tuesday, May 27, 2008 7:12 PM
To: tuscany-dev@ws.apache.org
Subject: Re: BPEL Implementation: Latest changes mean no need for deploy.xml 
!!



Mike Edwards wrote:

Luciano Resende wrote:

Very good news Mike !!! I hope to start working on the db issues as
soon as I get some free cycles.



Luciano,

There is something that you might be able to help me with right away.

I am running into intermittent problems with transactions in the 
registration of a BPEL process with the ODE server. The transaction 
causing the problem seems to be the one in the BPELImplementationProvider 
start() method.


What is this transaction for?

try {
txMgr.begin();

odeServer.registerTuscanyRuntimeComponent(implementation.getProcess(), 
component);


odeServer.deploy(new ODEDeployment(deploymentDir), implementation );
txMgr.commit();
} catch (Exception e) {
e.printStackTrace();
txMgr.rollback();
}


Will it cause a problem if I remove this transaction?  To me it does not 
seem to provide any value when the Process is being supplied by Tuscany. 
I can't see any requirement for it in the ODE documentation.



Yours,  Mike.



Rebuiling from scratch gives me the error below. Anybody else seeing this? 
Could it be related to the transaction problem discussed here?


Running helloworld.BPELHelloWorldTestCase
org.apache.tuscany.sca.implementation.bpel.ode.ODEDeploymentException:
 DEPLOY: Unexpected exception: Error reloading compiled process
{http://tuscany.apache.org/implementation/bpel/example/helloworld}HelloWorld-1; 
the file appears to be corrupted.
at 
org.apache.tuscany.sca.implementation.bpel.ode.EmbeddedODEServer.deploy(EmbeddedODEServer.java:285)
at 
org.apache.tuscany.sca.implementation.bpel.provider.BPELImplementationProvider.start(BPELImplementationProvider.java:100)
at 
org.apache.tuscany.sca.core.assembly.CompositeActivatorImpl.start(CompositeActivatorImpl.java:631)
at 
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.init(DefaultSCADomain.java:245)
at 
org.apache.tuscany.sca.host.embedded.impl.DefaultSCADomain.init(DefaultSCADomain.java:113)
at 
org.apache.tuscany.sca.host.embedded.SCADomain.createNewInstance(SCADomain.java:242)
at 
org.apache.tuscany.sca.host.embedded.SCADomain.newInstance(SCADomain.java:70)
at 
helloworld.BPELHelloWorldTestCase.setUp(BPELHelloWorldTestCase.java:42)

at junit.framework.TestCase.runBare(TestCase.java:125)
at junit.framework.TestResult$1.protect(TestResult.java:106)
at junit.framework.TestResult.runProtected(TestResult.java:124)
at junit.framework.TestResult.run(TestResult.java:109)
at junit.framework.TestCase.run(TestCase.java:118)
at junit.framework.TestSuite.runTest(TestSuite.java:208)
at junit.framework.TestSuite.run(TestSuite.java:203)
at 
org.junit.internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:35)
at 
org.apache.maven.surefire.junit4.JUnit4TestSet.execute(JUnit4TestSet.java:62)
at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.executeTestSet(AbstractDirectoryTestSuite.java:138)
at 
org.apache.maven.surefire.suite.AbstractDirectoryTestSuite.execute(AbstractDirectoryTestSuite.java:125)

at org.apache.maven.surefire.Surefire.run(Surefire.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

at java.lang.reflect.Method.invoke(Method.java:597)
at 
org.apache.maven.surefire.booter.SurefireBooter.runSuitesInProcess(SurefireBooter.java:308)
at 
org.apache.maven.surefire.booter.SurefireBooter.main(SurefireBooter.java:879)
Caused by: org.apache.ode.bpel.iapi.BpelEngineException: Error reloading 
compiled process 
{http://tuscany.apache.org/implementation/bpel/example/helloworld}HelloWorld-1; 
the file appears to be corrupted.
at 
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.doHydrate(BpelProcess.java:689)
at 
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch.access$100(BpelProcess.java:654)
at 
org.apache.ode.bpel.engine.BpelProcess$HydrationLatch$2.run(BpelProcess.java:666)
at 
org.apache.ode.bpel.engine.NStateLatch.latch(NStateLatch.java:89)
at 
org.apache.ode.bpel.engine.BpelProcess.hydrate(BpelProcess.java:547)
at 

[jira] Resolved: (TUSCANY-2340) Databinding integration tests

2008-05-27 Thread Raymond Feng (JIRA)

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

Raymond Feng resolved TUSCANY-2340.
---

Resolution: Fixed

Patch applied under r660648. Thanks Vamsi for the patch!

 Databinding integration tests
 -

 Key: TUSCANY-2340
 URL: https://issues.apache.org/jira/browse/TUSCANY-2340
 Project: Tuscany
  Issue Type: Test
  Components: Java SCA Integration Tests
Reporter: Vamsavardhana Reddy
Assignee: Raymond Feng
 Fix For: Java-SCA-Next

 Attachments: TUSCANY-2340-new.patch, TUSCANY-2340.patch


 I have been trying out a few tests with databindings and am hitting some 
 TransformationExceptions.  I thought it is better I post the tests I am 
 creating to the JIRA so that others can take a look at these tests.

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



Re: How can we turn on/off Rampart conditionally for binding.ws over Axis2?

2008-05-23 Thread Raymond Feng

Hi,

We're on the same direction. The fix I checked in is to engage rampart based 
on the presence of the WS-Security related intents and policySets.


Thanks,
Raymond
--
From: Mike Edwards [EMAIL PROTECTED]
Sent: Friday, May 23, 2008 3:42 AM
To: tuscany-dev@ws.apache.org
Subject: Re: How can we turn on/off Rampart conditionally for binding.ws 
over Axis2?



Raymond Feng wrote:
Is there a way to tell if WS-Security is required for a WS binding? I 
guess we need to dig into the policy stuff. We then probably need to pass 
a flag down to the TuscanyAxisConfigurator so that it can decide if 
rampart should be activated.


Thanks,
Raymond


Strictly speaking, the way to tell if WS-Security is required means 
looking into the PolicySet(s) that apply to the (WS) binding and 
determining if any of the policies which apply are WS-Security policies.


It would be nice to think that all you need to do is to look at the 
intents marked on the reference and binding (say) but unfortunately, the 
deployers and policy experts can decide that they want security applied 
even if the intents don't call for it.  So the runtime has to worry about 
the concrete policies.


Strictly, this means that the binding code has to decide which policies it 
is prepared to deal with and once it sees some set of those policies 
chosen for a given binding, then it must decide which bindimg 
implementation code must be brought to bear in order to provide those 
policies.



Yours,  Mike. 




[jira] Commented: (TUSCANY-2339) Java 2 Security - Provide Tuscany Maven profile to run vtest and itest with Java 2 security enabled

2008-05-23 Thread Raymond Feng (JIRA)

[ 
https://issues.apache.org/jira/browse/TUSCANY-2339?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12599425#action_12599425
 ] 

Raymond Feng commented on TUSCANY-2339:
---

Hi, Dan.

I suggest that we set a tuscany.policy property in the profile and activate the 
profile if the property is set:

profiles
  profile
idj2sec/id
activation
  property
nametuscany.policy/name
  /property
/activation
 properties

tuscany.policyfile:///${java.home}/lib/security/tuscany.policy/tuscany.policy
  /properties
  /profile
/profiles


 Java 2 Security - Provide Tuscany Maven profile to run vtest and itest with 
 Java 2 security enabled
 ---

 Key: TUSCANY-2339
 URL: https://issues.apache.org/jira/browse/TUSCANY-2339
 Project: Tuscany
  Issue Type: Improvement
  Components: Java SCA Core Runtime
 Environment: Maven profile should be operating system independent.
Reporter: Dan Becker
 Attachments: TUSCANY-2339.patch


 Provide Tuscany Maven profile to run vtest and itest with Java 2 security 
 enabled. This profile should specify a security profile for Tuscany, and 
 should run vtest and itests with Java 2 security enabled.
 Run the profile with
 mvn -P security.
 Suggested profile addition to Tuscany java/sca pom.xml
 profile
 idsecurity/id
 modules
 !-- moduledemos/module --
 moduleitest/module
 modulevtest/module
 /modules
 build
 plugins
 plugin
 groupIdorg.apache.maven.plugins/groupId
 artifactIdmaven-surefire-plugin/artifactId
 version2.3.1/version
 configuration
 includes
 include**/*TestCase.java/include
 /includes
 reportFormatbrief/reportFormat
 useFilefalse/useFile
 forkModeonce/forkMode
 !-- Place tuscany.policy in your Java home 
 security directory. Alternatively, hardcode the file location here. --
 argLine-Djava.security.manager 
 -Djava.security.policy=file:///${java.home}/lib/security/tuscany.policy 
 -Dpolicy.allowSystemProperty=true -Djava.security.debug=policy/argLine
 /configuration
 /plugin
 /plugins 
 /build
 /profile

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



Re: TransformationException when using java interface definition with generics

2008-05-23 Thread Raymond Feng

Hi,

It's not clear from the SCA spec how generics impacts the interface mapping. 
We need some clarifications there.


The JAXWS 2.1 spec uses the erased type and only honor the type argument in 
Collection. At this moment, Tuscany supports the following case:


@Remotable
public interface MyHelloService extends HelloServiceString {
}

And use MyHelloService as the service interface for HelloServiceImpl.

I don't think it's wise to try to cover other variations before we get it 
clarified by the spec.


Thanks,
Raymond
--
From: Vamsavardhana Reddy [EMAIL PROTECTED]
Sent: Friday, May 23, 2008 10:42 AM
To: tuscany-dev@ws.apache.org
Subject: TransformationException when using java interface definition with 
generics



Can someone point to me what I am doing wrong or if it is a problem in
Tuscany?  Details follow...

I have the following service interface:
@Remotable
public interface HelloServiceE {
   public E getGreetings(E name);
}

The following is the service implementation:
@Service(HelloService.class)
public class HelloServiceImpl implements HelloServiceString {

   public String getGreetings(String name) {
   return Hello +name;
   }
}

The following is the client interface that invokes the service:
public interface HelloServiceClientE {
   E getGreetingsForward(E name);
}

The following is the client implementation:
@Service(HelloServiceClient.class)
public class HelloServiceClientImpl implements HelloServiceClientString 
{


   private HelloServiceString service;

   @Reference
   public void setHelloService(HelloServiceString service) {
   this.service = service;
   }

   public String getGreetingsForward(String name) {
   return service.getGreetings(name);
   }
}

I have a HelloService component and two HelloServiceClient components in 
my

composite (given below):
composite xmlns=http://www.osoa.org/xmlns/sca/1.0;
  xmlns:wsdli=http://www.w3.org/2006/01/wsdl-instance;
  name=HelloService

   !-- Clients to test the service --
   component name=HelloServiceClientWSComponent
   implementation.java
class=org.apache.tuscany.sca.itest.impl.HelloServiceClientImpl /
   reference name=helloService
   interface.java
interface=org.apache.tuscany.sca.itest.HelloService/
   binding.ws uri=http://localhost:8080/hs-ep1/
   /reference
   /component
   component name=HelloServiceClientSCAComponent
   implementation.java
class=org.apache.tuscany.sca.itest.impl.HelloServiceClientImpl /
   reference name=helloService target=HelloServiceComponent
   binding.sca/
   /reference
   /component

   !-- Components used to implement the services --
   component name=HelloServiceComponent
   implementation.java
class=org.apache.tuscany.sca.itest.impl.HelloServiceImpl/
   service name=HelloService
   interface.java
interface=org.apache.tuscany.sca.itest.HelloService/
   binding.ws uri=http://localhost:8080/hs-ep1/
   binding.sca/
   /service
   /component
/composite

The following is the code I am using to invoke the service via client
components:
   domain = SCADomain.newInstance(hello.composite);
   String name = Me String SCA;
   HelloServiceClientString helloServiceClient =
domain.getService(HelloServiceClient.class,
HelloServiceClientSCAComponent);
   String resp = helloServiceClient.getGreetingsForward(name);
   System.out.println(resp);

   name = Me String WS;
   helloServiceClient = domain.getService(HelloServiceClient.class,
HelloServiceClientWSComponent);
   resp = helloServiceClient.getGreetingsForward(name);
   System.out.println(resp);


It works fine when I invoke the service using the client component that 
uses
SCA binding to connect to the service.  I get the following exception when 
I

use the client component that uses WS binding.

May 23, 2008 11:04:50 PM
org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceInOutSyncMessageReceiver
invokeBusinessLogic
SEVERE: org.apache.tuscany.sca.databinding.TransformationException: No 
path

found for the transformation: org.apache.axiom.om.OMElement-null
org.osoa.sca.ServiceRuntimeException:
org.apache.tuscany.sca.databinding.TransformationException: No path found
for the transformation: org.apache.axiom.om.OMElement-null
   at
org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:119)
   at
org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:85)
   at
org.apache.tuscany.sca.core.invocation.RuntimeWireInvoker.invoke(RuntimeWireInvoker.java:79)
   at
org.apache.tuscany.sca.core.assembly.RuntimeWireImpl.invoke(RuntimeWireImpl.java:138)
   at
org.apache.tuscany.sca.binding.ws.axis2.Axis2ServiceProvider.invokeTarget(Axis2ServiceProvider.java:669)
   at

Re: Tuscany Java2WSDL and WSDL2Java tools

2008-05-22 Thread Raymond Feng

Hi,

The SCA spec says that we follow the JAXWS rules to map between remotable 
java interfaces and WSDL port types. There are two things involved:


1) WSDL portType -- Java Interface (JAXWS)
2) XSD -- Java Types (Databinding specific)

Ideally, the JAXWS WSDL2Java/Java2WSDL tools shouold allow different 
databindings to be plugged in to handle the XSD2Java/Java2XSD generations. 
Unfortunately, the JAXWS RI wsimport/wsgen tool doesn't have the 
pluggability yet to add SDO support.


An alternative is that we develop/use a tool to only generate artifacts for 
1 (I don't see an option for the JAXWS wsimport/wsgen tool to disable the 
XSD handling either) and use databinding-specific Java/XSD code gen. I think 
the only connection between the two tools are the package -- namespace 
mapping rules.


Based on the above, I don't think we should add generateSEI to SDO. Instead, 
we should have SEI2WSDL and WSDL2SEI tools in SCA.


Thanks,
Raymond
--
From: ant elder [EMAIL PROTECTED]
Sent: Thursday, May 22, 2008 2:52 AM
To: tuscany-dev tuscany-dev@ws.apache.org
Subject: Re: Tuscany Java2WSDL and WSDL2Java tools


On Thu, May 22, 2008 at 9:31 AM, ant elder [EMAIL PROTECTED] wrote:




On Wed, May 21, 2008 at 5:03 PM, Scott Kurz [EMAIL PROTECTED] wrote:


That 'generate-sdo' only generates the Java types from the schema types,
right?

It's the WSDL2Java which maps portType operations t**o Java methods and
(last I checked) our
W2J is the only tool which knows how to do this with an SDO databinding.



Yes after playing around with the tools i think thats right. It looks 
like
the current Tuscany/SCA W2J tool generates just a service interface but 
not
the types for the operation arguments, and that interface is annotated 
with
the osoa @Service and @Remotable annotataions. So to use that interface 
you
must use another tool to generate the Java classes for the types (and 
hope

that both tools generate identical names for the types) otherwise the W2J
generated interface wont even compile.

   ...ant



Given the above what would people think about abandoning our Tuscany/SCA
Axis2 base W2J tool and just updating the SDO tool to support generating 
the
SEI class? So for example the helloworld bpel sample where both of these 
are

used at at the bottom of the pom.xml [1] would have the
tuscany-maven-wsdl2java plugin removed and an extra parameter added to the
tuscany-sdo-plugin like generateSEItrue/generateSEI?

The generateSEI parameter would only be available when the sdo plugin is
using a wsdl document and although the generated interface would have the
SCA @Service and @Remotable annotations as they're just strings it 
wouldn't

drag in any sca dependencies to sdo, the sca jar would only be needed when
you actually compile the generated interface.

  ...ant

[1]
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/samples/helloworld-bpel/pom.xml



Re: Tuscany Java2WSDL and WSDL2Java tools

2008-05-22 Thread Raymond Feng

Please see my comments inline.

Thanks,
Raymond

--
From: ant elder [EMAIL PROTECTED]
Sent: Thursday, May 22, 2008 9:36 AM
To: tuscany-dev tuscany-dev@ws.apache.org
Subject: Re: Tuscany Java2WSDL and WSDL2Java tools


On Thu, May 22, 2008 at 5:04 PM, Raymond Feng [EMAIL PROTECTED] wrote:


Hi,

The SCA spec says that we follow the JAXWS rules to map between remotable
java interfaces and WSDL port types. There are two things involved:

1) WSDL portType -- Java Interface (JAXWS)
2) XSD -- Java Types (Databinding specific)

Ideally, the JAXWS WSDL2Java/Java2WSDL tools shouold allow different
databindings to be plugged in to handle the XSD2Java/Java2XSD 
generations.

Unfortunately, the JAXWS RI wsimport/wsgen tool doesn't have the
pluggability yet to add SDO support.

An alternative is that we develop/use a tool to only generate artifacts 
for

1 (I don't see an option for the JAXWS wsimport/wsgen tool to disable the
XSD handling either) and use databinding-specific Java/XSD code gen. I 
think

the only connection between the two tools are the package -- namespace
mapping rules.

Based on the above, I don't think we should add generateSEI to SDO.
Instead, we should have SEI2WSDL and WSDL2SEI tools in SCA.


I've a lot of sympathy with that approach...though it is a bit more work 
:)




Great.


WSDL2SEI is what we have right now with tools/wsdl2java as it cuts out
generation of eveything other than the SEI class, but to do that it uses 
and

copies code from the Axis2 WSDL2Java tool, is the suggestion to stop using
any Axis2 code and write our own SEI generator?


How complex is the logic to generate a java interface out of a WSDL 
portType? What are the main Axis2 code dependencies (is the code fairly 
isolated)?


The following is list of items I see:

portType QName -- Java interface name
operation name -- method name
part element/type -- argument/return name and type (following the mapping 
rules by the pluggable databinding for XSD type -- Java type,we can use 
JAXB as the default)

fault -- exception



The SEI2WSDL tool would be based on the new code we have for runtime WSDL
generation right? Not completely convinced about SEI in the name, people
know what Java2WSDL does so does keeping on calling our tool Java2WSDL
really hurt?


I just use SEI as an example to differentiate the traditional J2W. I can 
live with J2W. If possible, we should leverage the new code for runtime WSDL 
generation.




Anyway, so would we be committing to doing this in time for the next
release? If so I can stop looking at upgrading the exsiting tools to work
with Axis2 1.4. Or is this just something to look at in the furture and 
I
still need to get the existing tools running with Axis2 1.4 in time for 
our

next SCA release?


Effort wise, which approach requires more? We need to make a good balance 
here. If the migration to 1.4 is an one-day work, then I think it's worth to 
migrate it 1st to have a working base.




  ...ant



Re: Fwd: Welcome to the Apache Software Foundation (ASF)!

2008-05-22 Thread Raymond Feng
Do we know if the ids have been created and activated for Mario Antollini 
and Wang Feng?


Thanks,
Raymond
--
From: Mario Antollini [EMAIL PROTECTED]
Sent: Thursday, May 22, 2008 11:26 AM
To: tuscany-dev@ws.apache.org
Cc: [EMAIL PROTECTED]; [EMAIL PROTECTED]
Subject: Fwd: Welcome to the Apache Software Foundation (ASF)!


Hi,

I would like to gain access to commit to the tuscany svn. How can I get
permission granted?

I also want to commit my foaf file to
https://svn.apache.org/repos/private/committers/info, but I do not have
permission either. Any help?

Thanks,
Mario


-- Forwarded message --
From: Luciano Resende [EMAIL PROTECTED]
Date: Thu, May 22, 2008 at 3:05 PM
Subject: Re: Welcome to the Apache Software Foundation (ASF)!
To: Mario Antollini [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]


I guess you need SVN Karma to be able to commit to tuscany svn. Please
ask on the tuscany-dev for SVN Karma and copy Glen Daniels as well.

On Thu, May 22, 2008 at 9:29 AM, Mario Antollini [EMAIL PROTECTED]
wrote:

Hello,

I am trying to commit my foaf file to
https://svn.apache.org/repos/private/committers/info (info taken from
http://people.apache.org/foaf/index.html)

However, I get an error when trying to checkout the repository: svn:
PROPFIND of '/repos/private/committers/info': 403 Forbidden
(https://svn.apache.org)

I receive a similar error when trying to browse it with my browser: You
don't have permission to access /repos/private/committers/info on this
server.

I did manage to checkout https://svn.apache.org/repos/private

Where else can I commit the foaf file?

Regards,
Mario




Re: GSoC Project - CORBA Support for Apache Tuscany

2008-05-22 Thread Raymond Feng

Please see my comments inline.

Thanks,
Raymond

--
From: Wojtek Janiszewski [EMAIL PROTECTED]
Sent: Thursday, May 22, 2008 3:21 AM
To: tuscany-dev@ws.apache.org
Subject: Re: GSoC Project - CORBA Support for Apache Tuscany


Hello Tuscany Community!

I've spent last days considering project details and made some prototypes 
which were mainly verifying CORBA API in JDK. I'd like also to begin 
coding shortly - I'd like to start implementing reference binding 
implementation for CORBA objects. I've listed some assumptions/doubts:


1. Original time schedule was to start work with Implementation of 
interface-corba-idl module.. I was told to start with CORBA bindings, I 
just wanted to make sure that these modules implementation schedule can be 
swapped.


I think the CORA IDL support can be a 2nd step. We can invoke/expose CORBA 
services using java interfaces.




2. I'll implement service/reference bindings using CORBA Dynamic 
Invocation Interface (DII) API. Standard JDK CORBA support *should* be 
enough, if no, there are other CORBA implementations, such as JacORB.


Standard JDK APIs should be good enough. There is an Apache CORBA project 
at: http://cwiki.apache.org/YOKO/.




3. Where should parameters ORBInitialHost and ORBInitialPort be passed to 
application? They shouldn't be configured global for application, because 
every binding can use different ORB, so I assume it should be configured 
per binding. Which attributes for binding.corba shall I use?


They should be configured at the binding.corba.



4. In CORBA we can register objects under unique name, or obtain remote 
objects as references from other CORBA objects. In binding configuration 
user should point remote objects name, which is registered in name 
service. Again, I think it should be configured per binding, so which 
attribute for binding.corba shall I use?


That should be derived from the URI of the binding.



5. CORBA objects obtained from binding will be dynamically enhanced by, 
lets call it, DII Corba Invoker (DCI), and attached to matching Java 
interface, so Tuscany user can use it. DCI will be responsible for 
creating request, based on operation name, operation arguments and return 
type. Every other CORBA object, obtained in any way (from binding, as a 
result of any other CORBA objects operation) will be also 
enhanced/attached as above.


Yes. The corba reference binding invoker is responsible to bridge the 
invocations between SCA and CORBA.




6. If CORBA objects operation argument is object reference, then user 
should provide object which was previously obtained from binding or other 
CORBA object. User cannot use users-side object as an argument.




Yes. Let's don't worry object reference too much at this point. We are in 
the SOA world instead of distributed object :-).


I hope I described my thoughts clearly, I'll appreciate any comments, 
especially pointing out things I'm wrong or missing.


Thanks,
Wojtek 




Re: How can we turn on/off Rampart conditionally for binding.ws over Axis2?

2008-05-22 Thread Raymond Feng
Is there a way to tell if WS-Security is required for a WS binding? I guess 
we need to dig into the policy stuff. We then probably need to pass a flag 
down to the TuscanyAxisConfigurator so that it can decide if rampart should 
be activated.


Thanks,
Raymond
--
From: ant elder [EMAIL PROTECTED]
Sent: Thursday, May 22, 2008 12:05 PM
To: tuscany-dev@ws.apache.org
Subject: Re: How can we turn on/off Rampart conditionally for binding.ws 
over Axis2?



+1 to the idea, would like to help but not sure if i'll get to it
immediately, its not completely trivial but we should be able to do it 
with
a bit of refactorying in the axis binding. Its getting set on always by 
our

TuscanyAxisConfigurator class.

  ...ant

On Thu, May 22, 2008 at 1:06 AM, Raymond Feng [EMAIL PROTECTED] wrote:


Hi,

In the latest binding-ws-axis2 code, we always have module rampart
activated in [1]. Consequently, rampart gets on the way for all Axis2 
based
binding.ws invocations. The worst part is that one of the rampart 
handlers

try to read some data from the SOAP envelope and it forces the whole
OMElement to be fully loaded before it is sent to the HTTP. This behavior
pretty much defeats the performance optimization I'm working on to wrap 
JAXB

objects into a SourcedOMElement so that the JAXB objects will only be
serialized once when the message is sent to the HTTP connection.

I understand rampart is configured to support WS-Security. But I don't
think we should always pay the penalty in the cases where WS-Security is 
not

required at all. Is there an option to turn on/off Rampart conditionally
(maybe by some code in tuscany-policy-security-ws)?

Thanks,
Raymond

[1]
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/axis2.xml





Re: How can we turn on/off Rampart conditionally for binding.ws over Axis2?

2008-05-22 Thread Raymond Feng
I think I found a way to add the rampart module on demand. I'll check in the 
changes when I finish the build.


Thanks,
Raymond

--
From: Raymond Feng [EMAIL PROTECTED]
Sent: Thursday, May 22, 2008 3:40 PM
To: tuscany-dev@ws.apache.org; [EMAIL PROTECTED]
Subject: Re: How can we turn on/off Rampart conditionally for binding.ws 
over Axis2?


Is there a way to tell if WS-Security is required for a WS binding? I 
guess we need to dig into the policy stuff. We then probably need to pass 
a flag down to the TuscanyAxisConfigurator so that it can decide if 
rampart should be activated.


Thanks,
Raymond
--
From: ant elder [EMAIL PROTECTED]
Sent: Thursday, May 22, 2008 12:05 PM
To: tuscany-dev@ws.apache.org
Subject: Re: How can we turn on/off Rampart conditionally for binding.ws 
over Axis2?



+1 to the idea, would like to help but not sure if i'll get to it
immediately, its not completely trivial but we should be able to do it 
with
a bit of refactorying in the axis binding. Its getting set on always by 
our

TuscanyAxisConfigurator class.

  ...ant

On Thu, May 22, 2008 at 1:06 AM, Raymond Feng [EMAIL PROTECTED] 
wrote:



Hi,

In the latest binding-ws-axis2 code, we always have module rampart
activated in [1]. Consequently, rampart gets on the way for all Axis2 
based
binding.ws invocations. The worst part is that one of the rampart 
handlers

try to read some data from the SOAP envelope and it forces the whole
OMElement to be fully loaded before it is sent to the HTTP. This 
behavior
pretty much defeats the performance optimization I'm working on to wrap 
JAXB

objects into a SourcedOMElement so that the JAXB objects will only be
serialized once when the message is sent to the HTTP connection.

I understand rampart is configured to support WS-Security. But I don't
think we should always pay the penalty in the cases where WS-Security is 
not

required at all. Is there an option to turn on/off Rampart conditionally
(maybe by some code in tuscany-policy-security-ws)?

Thanks,
Raymond

[1]
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/axis2.xml





Re: Graduation

2008-05-21 Thread Raymond Feng
I'm excited to hear the great news. We finally graduate in the graduation 
season after a long journey!


Cheers, Tuscany is now a TLP!

Thanks,
Raymond
--
From: Matthieu Riou [EMAIL PROTECTED]
Sent: Wednesday, May 21, 2008 2:14 PM
To: tuscany-dev tuscany-dev@ws.apache.org
Subject: Graduation


Special order 7B, Establish the Apache Tuscany Project, was approved by
Unanimous Vote of the directors present.

Congratulations guys!

Matthieu



How can we turn on/off Rampart conditionally for binding.ws over Axis2?

2008-05-21 Thread Raymond Feng

Hi,

In the latest binding-ws-axis2 code, we always have module rampart 
activated in [1]. Consequently, rampart gets on the way for all Axis2 based 
binding.ws invocations. The worst part is that one of the rampart handlers 
try to read some data from the SOAP envelope and it forces the whole 
OMElement to be fully loaded before it is sent to the HTTP. This behavior 
pretty much defeats the performance optimization I'm working on to wrap JAXB 
objects into a SourcedOMElement so that the JAXB objects will only be 
serialized once when the message is sent to the HTTP connection.


I understand rampart is configured to support WS-Security. But I don't think 
we should always pay the penalty in the cases where WS-Security is not 
required at all. Is there an option to turn on/off Rampart conditionally 
(maybe by some code in tuscany-policy-security-ws)?


Thanks,
Raymond

[1] 
https://svn.apache.org/repos/asf/incubator/tuscany/java/sca/modules/binding-ws-axis2/src/main/resources/org/apache/tuscany/sca/binding/ws/axis2/engine/config/axis2.xml 



[jira] Assigned: (TUSCANY-2290) Java 2 Security enablement for Tuscany sample (part 1)

2008-05-19 Thread Raymond Feng (JIRA)

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

Raymond Feng reassigned TUSCANY-2290:
-

Assignee: Raymond Feng

 Java 2 Security enablement for Tuscany sample (part 1)
 --

 Key: TUSCANY-2290
 URL: https://issues.apache.org/jira/browse/TUSCANY-2290
 Project: Tuscany
  Issue Type: Bug
Affects Versions: Java-SCA-1.2
 Environment: Windows, Java 1.5
Reporter: Dan Becker
Assignee: Raymond Feng
 Fix For: Java-SCA-Next

 Attachments: TUSCANY-2290.3.patch


 Fix security issues that arise in Tuscany samples when Java 2 security is 
 turned on via 
 -java.security.manager  -Djava.security.policy=tuscany.policy 
 -Dpolicy.allowSystemProperty=true
 A typical exception might be for sample helloworld sdo ws 
 Problems trying to access System properties: 
 java.security.AccessControlException: access denied 
 (java.util.PropertyPermission java.specification.version read)
 java.lang.NoClassDefFoundError
   at 
 org.apache.tuscany.sca.databinding.sdo.SDODataBinding.introspect(SDODataBinding.java:61)
   at 
 org.apache.tuscany.sca.databinding.DefaultDataBindingExtensionPoint$LazyDataBinding.introspect(DefaultDataBindingExtensionPoint.java:191)
   at 
 org.apache.tuscany.sca.databinding.DefaultDataBindingExtensionPoint.introspectType(DefaultDataBindingExtensionPoint.java:246)
   at 
 org.apache.tuscany.sca.databinding.DefaultDataBindingExtensionPoint.introspectType(DefaultDataBindingExtensionPoint.java:202)
   at 
 org.apache.tuscany.sca.core.databinding.processor.DataBindingJavaInterfaceProcessor.processInterface(DataBindingJavaInterfaceProcessor.java:116)
   at 
 org.apache.tuscany.sca.core.databinding.processor.DataBindingJavaInterfaceProcessor.visitInterface(DataBindingJavaInterfaceProcessor.java:58)
   at 
 org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceIntrospectorImpl.introspectInterface(JavaInterfaceIntrospectorImpl.java:113)
   at 
 org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceFactoryImpl.createJavaInterface(JavaInterfaceFactoryImpl.java:48)
   at 
 org.apache.tuscany.sca.implementation.java.introspect.impl.ServiceProcessor.createService(ServiceProcessor.java:159)
   at 
 org.apache.tuscany.sca.implementation.java.introspect.impl.ServiceProcessor.visitClass(ServiceProcessor.java:90)
   at 
 org.apache.tuscany.sca.implementation.java.impl.JavaClassIntrospectorImpl.introspectClass(JavaClassIntrospectorImpl.java:72)
   at 
 org.apache.tuscany.sca.implementation.java.impl.JavaImplementationFactoryImpl.createJavaImplementation(JavaImplementationFactoryImpl.java:53)
   at 
 org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:152)
   at 
 org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:63)
 ...

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



[jira] Resolved: (TUSCANY-2290) Java 2 Security enablement for Tuscany sample (part 1)

2008-05-19 Thread Raymond Feng (JIRA)

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

Raymond Feng resolved TUSCANY-2290.
---

Resolution: Fixed

Patch applied under r658007. Thanks Dan for the patch.

 Java 2 Security enablement for Tuscany sample (part 1)
 --

 Key: TUSCANY-2290
 URL: https://issues.apache.org/jira/browse/TUSCANY-2290
 Project: Tuscany
  Issue Type: Bug
Affects Versions: Java-SCA-1.2
 Environment: Windows, Java 1.5
Reporter: Dan Becker
Assignee: Raymond Feng
 Fix For: Java-SCA-Next

 Attachments: TUSCANY-2290.3.patch


 Fix security issues that arise in Tuscany samples when Java 2 security is 
 turned on via 
 -java.security.manager  -Djava.security.policy=tuscany.policy 
 -Dpolicy.allowSystemProperty=true
 A typical exception might be for sample helloworld sdo ws 
 Problems trying to access System properties: 
 java.security.AccessControlException: access denied 
 (java.util.PropertyPermission java.specification.version read)
 java.lang.NoClassDefFoundError
   at 
 org.apache.tuscany.sca.databinding.sdo.SDODataBinding.introspect(SDODataBinding.java:61)
   at 
 org.apache.tuscany.sca.databinding.DefaultDataBindingExtensionPoint$LazyDataBinding.introspect(DefaultDataBindingExtensionPoint.java:191)
   at 
 org.apache.tuscany.sca.databinding.DefaultDataBindingExtensionPoint.introspectType(DefaultDataBindingExtensionPoint.java:246)
   at 
 org.apache.tuscany.sca.databinding.DefaultDataBindingExtensionPoint.introspectType(DefaultDataBindingExtensionPoint.java:202)
   at 
 org.apache.tuscany.sca.core.databinding.processor.DataBindingJavaInterfaceProcessor.processInterface(DataBindingJavaInterfaceProcessor.java:116)
   at 
 org.apache.tuscany.sca.core.databinding.processor.DataBindingJavaInterfaceProcessor.visitInterface(DataBindingJavaInterfaceProcessor.java:58)
   at 
 org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceIntrospectorImpl.introspectInterface(JavaInterfaceIntrospectorImpl.java:113)
   at 
 org.apache.tuscany.sca.interfacedef.java.impl.JavaInterfaceFactoryImpl.createJavaInterface(JavaInterfaceFactoryImpl.java:48)
   at 
 org.apache.tuscany.sca.implementation.java.introspect.impl.ServiceProcessor.createService(ServiceProcessor.java:159)
   at 
 org.apache.tuscany.sca.implementation.java.introspect.impl.ServiceProcessor.visitClass(ServiceProcessor.java:90)
   at 
 org.apache.tuscany.sca.implementation.java.impl.JavaClassIntrospectorImpl.introspectClass(JavaClassIntrospectorImpl.java:72)
   at 
 org.apache.tuscany.sca.implementation.java.impl.JavaImplementationFactoryImpl.createJavaImplementation(JavaImplementationFactoryImpl.java:53)
   at 
 org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:152)
   at 
 org.apache.tuscany.sca.implementation.java.xml.JavaImplementationProcessor.resolve(JavaImplementationProcessor.java:63)
 ...

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



Re: More Java security fixes on the way

2008-05-17 Thread Raymond Feng

Hi, Dan.

I have some trouble applying the patch. It complains an unknown line type is 
found line 573 (I don't know what it means:-(.


Thanks,
Raymond
--
From: Dan Becker [EMAIL PROTECTED]
Sent: Friday, May 16, 2008 9:31 AM
To: tuscany-dev@ws.apache.org
Subject: Re: More Java security fixes on the way


Jean-Sebastien Delfino wrote:

I'd like to suggest the following:
- Keep the Java2 security blocks in test case classes
- Don't put them in sample program classes

Hmmm but looking at these test cases, could you help me understand why we 
need these technical API calls to the jmsBroker at all?


Isn't SCA supposed to shield me from having to deal with that kind of 
calls?


Based on the several opinions, I've regenerated the patch so that samples 
are keep simple and do not have security code in them.


Jean-Sebastien, I can't comment on why several of the samples have 
explicit JMS broker starts and stops in their JUnit tests as I am not the 
original author. It seems like the author wanted to ensure the broker was 
running before running the unit test. However, commenting out the 
startBroker call in sample-helloworld-ws-service-jms, the JUnit test still 
ran and passed.


--
Thanks, Dan Becker 




Re: Endpoints was: Re: [BRAINSTORM] Flexibility in distributed operation and extension implementations - was: Re: Request to propogate the value of a references target= attribute on its associated bin

2008-05-16 Thread Raymond Feng

Please see my comments below.

Thanks,
Raymond

--
From: Simon Laws [EMAIL PROTECTED]
Sent: Friday, May 16, 2008 1:26 AM
To: tuscany-dev@ws.apache.org
Subject: Endpoints was: Re: [BRAINSTORM] Flexibility in distributed 
operation and extension implementations - was: Re: Request to propogate the 
value of a references target= attribute on its associated bindings model 
object



...snip



The two sets of SPIs could co-exist for a while with BindingProviders
working with bindings and ServiceProviders (I just made up that name) 
with

service endpoints.
--
Jean-Sebastien



At r656959 I've just enabled some changes to take a step toward using an
Endpoint representation in the model as an alternative to using cloned
bindings as the representation of valid reference targets. It's not
replacing the cloned binding approach just yet, to avoid breaking 
anything,

but is the first step on the road. This is what I have done.

Made a new Endpoint model type


+100. The schema kind of mixes the binding/endpoint concept together. I 
think it's much cleaner to add the endpoint model to represent the 
outbound/inbound addresses.



Created a separate factory for it (separate as I though the model may need
to be pluggable as some point)


Would it be possible to just add the create method the AssemblyFactory?


Created a new EndpointProvider type and associated factory.


I assume the EndpointProvider is a system utility that match/resolve the 
endpoints based on the reference/service binding configurations. If so, I 
suggest that name it differently such as EndpointResolver and we can just 
have the interface and default impl (no factory is required). We use the 
term Provider for binding/implementation extensions to provide their 
specific logic into Tuscany.



Created an Endpoint module to provide a provider implementation.
Created an Endpoint wire to trap attempted calls over unresolved endpoints
Separated off the Endpoint builder code into a new builder class. Same 
code

but easier to identify.
Added an endpoint collection to references
Used the Endpoint in the wire builder in place of the old internal target
structure. The logic is weaved in to the existing logic as follows.
 For references with no target, put the binding into reference binding as
before


I think it would be better to create an endpoint for the reference without 
target. There could be two cases, autowiring and binding with explicit URI 
to external services.


A few examples will help, for example:

reference name=myRef target=C1/S1
   binding.x/
   binding.y/
/reference

reference name=myRef target=C1/S1 C2/S1
   binding.x/
   binding.y/
/reference

reference name=myRef
   binding.x/
   binding.y/
/reference

reference name=myRef
   binding.x uri=http://x/
   binding.y uri=http://y/
/reference



 Create an Endpoint for all explicit reference targets
 For resolved endpoints (Endpoints where the target is resolved) put the
binding into reference bindings, i.e. the same as before
 For unresolved endpoints create an endpoint provider and a wire. We don't
have unresolved targets in tuscany (except in the sca binding test) so
should not happen. If you do put a target name in that can't be matched 
with

a service you'll get a warning.

If there is no Endpoint module on the classpath it will not create a
provider or a wire hence disabling any Endpoint based processing. The
Endpoint model will still be used though

As part of this change I've updated the logic that looks for target names 
in

binding uri. It's now applied to all binding types which I believe is what
the spec says, There is though an issue here. I'll raise a separate 
thread.


There are also a couple of thoughts I had.

Can we make the CompositeBuilderImpl have just one constructor?
Should builders be pluggable?
I've used some of the CompoisteActivator functions in the EndpointWire 
that

could do with moving into the activator interface.

Simon



Re: Tomcat deploy of samples fails

2008-05-16 Thread Raymond Feng

Hi,

Which version of Tuscany are you trying? It seems that something went wrong 
in the bootstrap (we need to dig out the root cause of the exception). Can 
you also try on Tomcat 6.x?


Thanks,
Raymond
--
From: Magnus Stoveland [EMAIL PROTECTED]
Sent: Friday, May 16, 2008 7:04 AM
To: tuscany-dev@ws.apache.org
Subject: Tomcat deploy of samples fails

I've successfully compiled the sample helloworld-ws-sdo-webapp into 
sample-helloworld-ws-sdo-webapp.war. But when I try to deply the .war to 
Tomcat 5.5.26, I get the following error: FAIL - Application at context 
path /sample-helloworld-ws-sdo-webapp could not be started.


From the log:

- Exception starting filter tuscany
javax.servlet.ServletException: 
org.apache.tuscany.sca.implementation.node.webapp.NodeWebAppServletHost
   at 
org.apache.tuscany.sca.node.launcher.NodeServletFilter.init(NodeServletFilter.java:85)
   at 
org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:221)
   at 
org.apache.catalina.core.ApplicationFilterConfig.setFilterDef(ApplicationFilterConfig.java:302)
   at 
org.apache.catalina.core.ApplicationFilterConfig.init(ApplicationFilterConfig.java:78)
   at 
org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3635)
   at 
org.apache.catalina.core.StandardContext.start(StandardContext.java:4222)
   at 
org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760)
   at 
org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740)
   at 
org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544)
   at 
org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:831)
   at 
org.apache.catalina.startup.HostConfig.deployWARs(HostConfig.java:720)
   at 
org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:490)

   at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149)
   at 
org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311)
   at 
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
   at 
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022)

   at org.apache.catalina.core.StandardHost.start(StandardHost.java:736)
   at 
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014)
   at 
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443)
   at 
org.apache.catalina.core.StandardService.start(StandardService.java:448)
   at 
org.apache.catalina.core.StandardServer.start(StandardServer.java:700)

   at org.apache.catalina.startup.Catalina.start(Catalina.java:552)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
   at java.lang.reflect.Method.invoke(Unknown Source)
   at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295)
   at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433)
- Error filterStart

Do I need any special configuration/setup to get the Tuscany Servlet 
Filter running properly?


Magnus 




Re: Tuscany support for Axis 1.4

2008-05-16 Thread Raymond Feng

Hi,

I'm starting to look into the performance improvements in the JAXB/AXIOM 
data transformation. It seems that the Axis2 1.4 has done a lot of good work 
there. If possible, I would like to leverage the latest AXIOM and Axis2 code 
base ASAP. The dependency might be only AXIOM but mixing the versions of 
AXIOM could be very risky.


Thanks,
Raymond

--
From: ant elder [EMAIL PROTECTED]
Sent: Thursday, May 15, 2008 3:00 AM
To: tuscany-dev@ws.apache.org
Subject: Re: Tuscany support for Axis 1.4


On Wed, May 14, 2008 at 2:33 PM, Mike Edwards
[EMAIL PROTECTED] wrote:

Lou Amodeo wrote:


Is there a plan for Tuscany to support Axis2 1.4?


Lou,

Any particular goodies that we can expect to get by moving up to Axis 
1.4?


Yours,  Mike.



Not sure if there are new functions that we need in 1.4 but the
release does include _lots_ of bug fixes so i think it would be worth
moving up. The main issues right now is I've just noticed there isn't
a corresponding Apache Rampart release for 1.4 yet which is what we
need for WS-Security, looks like its coming so guess we'll just have
to wait a bit.

  ...ant 




Re: OSGi-enable 3rd party libraries in Tuscany

2008-05-15 Thread Raymond Feng

FYI, SpringSource now has an Enterprise Bundle Repository:

http://www.springsource.com/repository/app/

Thanks,
Raymond
--
From: Simon Laws [EMAIL PROTECTED]
Sent: Thursday, May 15, 2008 12:12 AM
To: tuscany-dev@ws.apache.org
Subject: Re: OSGi-enable 3rd party libraries in Tuscany


On Thu, May 15, 2008 at 3:13 AM, Jean-Sebastien Delfino 
[EMAIL PROTECTED] wrote:


Rajini Sivaram wrote:


Hello,

Following on from the discussion in thread [1], and based on Sebastien's
comments [2], we need to make a decision on the best way forward to
OSGi-enable third party libraries used by Tuscany.

The options we have are:


  1. Add OSGi manifest entries to all 3rd party jars in the Tuscany
  distribution. Existing OSGi tools like maven-bundle-plugin and
  maven-pax-plugin can be used to generate these bundles. The new 
manifest

  entries will not have any impact when Tuscany is run outside OSGi. For
  signed jars and jars with license restrictions, it may be necessary to
  generate a bundle with the jar embedded into it, resulting in separate
jars
  for OSGi and non-OSGi. But these should hopefully be small in number.
  2. Use non-OSGi mechanism to enable Tuscany bundles running inside
  OSGi to refer to jars outside OSGi.
  3. Create virtual bundles on the fly for 3rd party jars. At the
  moment, itest/osgi-tuscany does this using auto-generated naive
manifests.
  If we are to use virtual bundles going forward, manifest entries for 
the

  virtual bundles should be created at build time, and stored in one of
the
  Tuscany jars.

I believe that if we are serious about making OSGi-enablement of Tuscany 
a

first class option, we should consider doing 1). For the longer term to
support versioning of 3rd party jars, 1) will provide a standard OSGi
mechanism. As more and more 3rd-party libraries are being OSGi-enabled,
this
can be seen as an intermediate step which enables users of Tuscany to
install Tuscany in the same standard OSGi way, into an OSGi runtime.



I agree and think we should do (1) everywhere we can.



3) works, and looks easier to roll out, but I would imagine that OSGi
users
of Tuscany would end up creating their own variants of 1) if we support
only
3). And it feels like a wrapper (or rather it is a wrapper), with
manifests
and their matching 3rd party libs stored separately.



How about an interim variation of (3) for the 3rd party JARs that we
initially can't cover with (1):

For each 3rd party foo.jar, a foo-osgi.jar containing the bundle manifest
that'll turn foo.jar into an OSGi virtual bundle, and I mean a proper 
bundle

manifest with actual specific imports / exports instead of the naive *.

I'm just throwing this up in the air to see any reactions from 
OSGi-skilled

people in the group :)

Maybe it's a stupid idea? but that would provide the level of modularity
that we're expecting from OSGi, instead of mashing everything up in a
central tuscany- manifest.jar which pretty much kills the benefits of 
using

OSGi IMO.




Thoughts?


[1] http://markmail.org/message/tybuyxoaddjjrpbx
[2] http://markmail.org/message/wbuixok3x3hazjqq

Thank you...

Regards,

Rajini



--
Jean-Sebastien



I agree that, for 3, I don't see why we have to put all the manifests one
place. If we have an input lib dir such as

3rdpartylib1.jar
3rdpartylib2.jar
3rdpartylib3.jar

Why wouldn't the result of creating manifests for virtual use be...

3rdpartylib1.jar
3rdpartylib1.mf (or 3rdpartylib1-mf.jar if that is better?)
3rdpartylib2.jar
3rdpartylib2.mf
3rdpartylib3.jar
3rdpartylib3.mf

And have the naming convention allow the manifests to be picked up and 
used

to create virtual bundles of the jars..

More generally, and regardless of whether option 1 or 3 is used,  when we
install these jars into OSGi are we expecting other applications to be 
able

to use them or are we calculating exports just based on what Tuscany uses?

Simon



[jira] Resolved: (TUSCANY-2321) Databinding producing different DOM Objects depending on the transformation path in use

2008-05-15 Thread Raymond Feng (JIRA)

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

Raymond Feng resolved TUSCANY-2321.
---

Resolution: Fixed

Fixed under r656747

 Databinding producing different DOM Objects depending on the transformation 
 path in use
 ---

 Key: TUSCANY-2321
 URL: https://issues.apache.org/jira/browse/TUSCANY-2321
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Data Binding Runtime
Affects Versions: Java-SCA-Next
Reporter: Luciano Resende
Assignee: Raymond Feng

 When invoking a regular BPEL component, the databinding framework execute the 
 following transformation path (String-DOM) and produces a DOM Element as 
 result.
 When invoking a BPEL component exposed as web services (ws binding) the 
 databinding framework execute the following transformation path 
 (String-OMElement-DOM) and produces a DOM Document as result.
 This causes issues when the implementation is manipulating the expected DOM 
 arguments during invocation.
 It would be good if we could be consistent.

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



[jira] Assigned: (TUSCANY-2321) Databinding producing different DOM Objects depending on the transformation path in use

2008-05-15 Thread Raymond Feng (JIRA)

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

Raymond Feng reassigned TUSCANY-2321:
-

Assignee: Raymond Feng

 Databinding producing different DOM Objects depending on the transformation 
 path in use
 ---

 Key: TUSCANY-2321
 URL: https://issues.apache.org/jira/browse/TUSCANY-2321
 Project: Tuscany
  Issue Type: Bug
  Components: Java SCA Data Binding Runtime
Affects Versions: Java-SCA-Next
Reporter: Luciano Resende
Assignee: Raymond Feng

 When invoking a regular BPEL component, the databinding framework execute the 
 following transformation path (String-DOM) and produces a DOM Element as 
 result.
 When invoking a BPEL component exposed as web services (ws binding) the 
 databinding framework execute the following transformation path 
 (String-OMElement-DOM) and produces a DOM Document as result.
 This causes issues when the implementation is manipulating the expected DOM 
 arguments during invocation.
 It would be good if we could be consistent.

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



Re: [jira] Commented: (TUSCANY-2316) Axis2 Binding Provider does not handle services references with WSDL interfaces correctly

2008-05-15 Thread Raymond Feng

Hi, Mike,

I have fixed the DOM transformation issue (TUSCANY-2321) under r656747.

Thanks,
Raymond
--
From: Mike Edwards [EMAIL PROTECTED]
Sent: Wednesday, May 14, 2008 2:07 PM
To: tuscany-dev@ws.apache.org
Subject: Re: [jira] Commented: (TUSCANY-2316) Axis2 Binding Provider does 
not handle services  references with WSDL interfaces correctly



Scott Kurz wrote:

Oh, I see what I was confused about.

The WebServiceBindingImpl object is not going to have an IC in your case 
in

which you simply declare an empty element:
 binding.ws/

It is in fact, going to set the IC from the component ref/srvc IC.For
some reason I had it in my had that things worked differently, but
now I see why the clone is needed.

Thanks for talking me through that...
Scott


Sorry, Scott, I should have made it clear that when that code executes, 
the wsBinding has a null IC - Luciano has explained this clearly now.  The 
code did not deal with the null IC correctly and this caused the initial 
problem here.


As Luciano explained in another thread, there were then 2 other problems 
in the data path from the Axis binding to the BPEL process.  Luciano fixed 
those to enable BPEL over WS-* to work, but I think there are deeper 
issues to look at for both those fixes - eg why does the databinding code 
generate different DOM trees depending on the path through the code?



Yours,  Mike.



Re: Running vtests with security on

2008-05-15 Thread Raymond Feng
You can configure the maven-surefire-plugin to have your options on the 
argLine element under a new profile.


plugin
 groupIdorg.apache.maven.plugins/groupId
 artifactIdmaven-surefire-plugin/artifactId
 version2.3.1/version
 configuration
 includes
 include**/*TestCase.java/include
 /includes
 reportFormatbrief/reportFormat
 useFilefalse/useFile
 forkModeonce/forkMode
 argLine-ea -Xmx256m -Djava.security.manager -Djava.security.policy=tuscany.policy 
-Djava.security.debug=policy/argLine

 /configuration
 /plugin

Thanks,
Raymond

--
From: Dan Becker [EMAIL PROTECTED]
Sent: Thursday, May 15, 2008 12:32 PM
To: tuscany-dev@ws.apache.org
Subject: Running vtests with security on


Since I am not much of a Maven expert, I thought I would run this by the
Tuscany community to see if I am going down the right path or to see if
there are better ideas.

Normally when I test with any Tuscany sample or test with Java 2
security enabled, I use the JVM options -Djava.security.manager
-Djava.security.policy=tuscany.policy -Djava.security.debug=policy. The
tuscany.policy file enables certain parts of Tuscany code to access
sensitive API calls, such as reading system properties or writing to the
file system. When I run Tuscany JUnit tests in Eclipse, I add these
options to the JUnit Run As dialog settings.

The Tuscany vtests run when you execute Maven on the vtest pom with the
test goal. I was thinking of adding a profile that specifies the
additional properties above. Also, I would provide an example
tuscany.policy file that provides the proper permissions for the Tuscany
code base. This when you wanted to run vtests with security on, you
would invoke this profile along with the test goal.

Any additional suggestions or comments?

--
Thanks, Dan Becker



How to work with Java Generics effictively (a book excerpt from Effective Java, Second Edition by Joshua Bloch)

2008-05-14 Thread Raymond Feng

Hi,

For those who have been puzzled by the Java Generics, the following excerpt 
is very helpful.


http://www.infoq.com/resource/articles/bloch-effective-java-2e/en/resources/Bloch_Ch05.pdf

Thanks,
Raymond 



Re: More Java security fixes on the way

2008-05-13 Thread Raymond Feng

Hi, Dan.

I'm looking into the patch you contributed with 
https://issues.apache.org/jira/browse/TUSCANY-2290. There is one issue 
catching my eyes. We have samples in Tuscany today which use some technology 
APIs, for example, to start the ActiveMQ JMS broker. To run these samples 
with Java2 security enabled, we have to surround some of the calls with 
privileged block. That seems to complicate/pollute the samples. Should we 
leave these samples as-is without supporting Java2 security (or grant 
permissions to the sample code directly with a policy file)?


Thanks,
Raymond

--
From: Dan Becker [EMAIL PROTECTED]
Sent: Friday, May 02, 2008 7:29 AM
To: tuscany-dev tuscany-dev@ws.apache.org
Subject: More Java security fixes on the way

FYI, so every one is aware of recent Tuscany security changes and for your 
comments. Over the last few weeks I have been making fixes to the Tuscany 
core in order to make the code a bit safer with Java 2 security enabled. 
There are many instances in which we want Tuscany code to perform some 
privileged action (such as read a system property or write a file to the 
file system), yet we do not want client code to have this ability.


There are over 300 Tuscany calls to privileged Java APIs which may throw 
some sort of security exception if proper access is not granted. Since 
there are so many APIs, I have have been issuing patches in smaller 
increments. This makes the patch easier to review, commit, and reverse if 
there is a problem.


Following is a list of past changes related to security.
TUSCANY-2108 - Enabled Simple Calculator to run with security on
TUSCANY-2227 - Enabled ITests to run with secuirty on
TUSCANY-2030 - Enabled Simple Caclulator to run on WebSphere

Expect a few JIRAs in the next weeks to enable the demos, samples, and 
vtests to run with security on. And then I would like to make a maven 
profile that allows a user to test with security on or off.


If you have any other ideas related to Java 2 security, I encourage you to 
mention them here.


--
Thanks, Dan Becker 




Re: SDO Databinding and classloaders

2008-05-12 Thread Raymond Feng

Hi,

I think there are two different perspectives here:

1) The pass-by-value semantics copies the SDO to make sure it cannot be 
mutated.

2) Different classloaders are used for different bundles.

We probably shouldn't mix these two. Let's put SCA on the side for now and 
think in OSGi. Assuming we have two OSGi bundles (B1  B2) and Class C1 from 
B1 is calling Class C2 from B2 to exchange SDO. How would you handle the 
classloading issue? Would you make sure B1 and B2 have the same dependency 
on a 3rd bundle which contains the SDO classes? Or do you package the SDO 
classes in both B1 and B2 and have the user code take care of the 
cross-classloader data passing? Once we have clear answers for these 
questions, we'll figure out which part of the code should be responsible for 
the cross-classloader data mapping.


Thanks,
Raymond
--
From: Rajini Sivaram [EMAIL PROTECTED]
Sent: Sunday, May 11, 2008 1:44 PM
To: tuscany-dev@ws.apache.org
Subject: SDO Databinding and classloaders


Hello,

I was looking at a JIRA related to SDO parameters to OSGi services (
https://issues.apache.org/jira/browse/TUSCANY-2307), and was not sure
whether the following scenario is valid for standard Java services in
Tuscany.

Component A and Component B are implemented using implementation.java/ 
and

use default SCA binding.
Component A invokes a remotable service from component B. One of the
arguments to the service is an SDO object. But Component A and Component B
use different classloaders for the SDO object. Will the copying of the SDO
object done by databinding-sdo handle copying across multiple 
classloaders?


I couldn't find any code which handles SDO classes loaded by different
classloaders, so I was wondering whether we expect only one set of SDO
classes to exist in a VM, or if I am just looking in the wrong place.


Thank you...

Regards,

Rajini



Re: SDO Databinding and classloaders

2008-05-12 Thread Raymond Feng

Please see more comments below.

Thanks,
Raymond
--
From: Rajini Sivaram [EMAIL PROTECTED]
Sent: Monday, May 12, 2008 9:43 AM
To: tuscany-dev@ws.apache.org
Subject: Re: SDO Databinding and classloaders


On 5/12/08, Raymond Feng [EMAIL PROTECTED] wrote:


Hi,

I think there are two different perspectives here:

1) The pass-by-value semantics copies the SDO to make sure it cannot be
mutated.



My understanding (which is probably wrong) was that @Remotable ensured 
that
the semantics of the call remained the same regardless of whether the 
caller

and the callee were in the same VM or on two different machines. This was
part of the reason why I asked the question. If my component A and 
component

B are on the same VM with different classloaders, they dont work, but if I
moved component B to another process it works fine. That sounds wrong, but 
I

can understand that it is an unlikely scenario in Tuscany when OSGi is not
used.


There is one more player: binding. The remote interaction is controlled by 
the binding protocol. When the source and target components are running 
under different context (such as classloader), the binding provider should 
be responsible to make sure the data are correctly marshalled/unmarshalled. 
If the binding decides to optimize for the co-located cases (in same VM), it 
needs to take care of the cross-context data mapping. It is similar that 
RMI/IIOP copies the data for the co-located services.




2) Different classloaders are used for different bundles.


We probably shouldn't mix these two. Let's put SCA on the side for now 
and
think in OSGi. Assuming we have two OSGi bundles (B1  B2) and Class C1 
from

B1 is calling Class C2 from B2 to exchange SDO. How would you handle the
classloading issue? Would you make sure B1 and B2 have the same 
dependency

on a 3rd bundle which contains the SDO classes? Or do you package the SDO
classes in both B1 and B2 and have the user code take care of the
cross-classloader data passing? Once we have clear answers for these
questions, we'll figure out which part of the code should be responsible 
for

the cross-classloader data mapping.



In pure-OSGi land, there is no concept of remotable services. If B1 
invokes

a method in B2, the classloaders of the arguments have to match (as in
standard Java). So the classes for the arguments should come from the same
bundle. If they dont, it is the responsibility of the application code to
copy data.

implementation.osgi in Tuscany attempts to bring SCA concepts like 
remotable

services to OSGi, and also enables access to non-OSGi services in Tuscany
from OSGi. At the moment, we can provide interoperability between OSGi and
non-OSGi components using SDOs only if the non-OSGi component is defined 
in

an OSGi contribution (ie, they use the same classloaders). If
cross-classloader data mapping is specific to OSGi and unlikely to occur 
in
other scenarios in Tuscany, maybe this should be done in 
implementation.osgi

- what do you think?



Maybe the binding should handle the cross-classloader data mapping instead 
of the implementation.osgi.





Thanks,

Raymond
--
From: Rajini Sivaram [EMAIL PROTECTED]
Sent: Sunday, May 11, 2008 1:44 PM
To: tuscany-dev@ws.apache.org
Subject: SDO Databinding and classloaders

Hello,

 I was looking at a JIRA related to SDO parameters to OSGi services (
 https://issues.apache.org/jira/browse/TUSCANY-2307), and was not sure
 whether the following scenario is valid for standard Java services in
 Tuscany.

 Component A and Component B are implemented using 
 implementation.java/

 and
 use default SCA binding.
 Component A invokes a remotable service from component B. One of the
 arguments to the service is an SDO object. But Component A and 
 Component

 B
 use different classloaders for the SDO object. Will the copying of the
 SDO
 object done by databinding-sdo handle copying across multiple
 classloaders?

 I couldn't find any code which handles SDO classes loaded by different
 classloaders, so I was wondering whether we expect only one set of SDO
 classes to exist in a VM, or if I am just looking in the wrong place.


 Thank you...

 Regards,

 Rajini





--
Thank you...

Regards,

Rajini



Re: [DISCUSS] Declaring extensions as being available in the domain

2008-05-12 Thread Raymond Feng
I share the same concerns as Sebastien raised. Mixing the policy definitions 
with tuscany runtime extensions in one file doesn't seem to be right. For 
example, we could have two tuscany extensions to support binding.ws, one is 
based on Axis2 while the other one is based on CXF. With the current 
approach, we will see three files:


definitions.xml for binding.ws bindingType which is independent of the 
underlying ws stack
two META-INF/services/... files, one for binding-ws-axis2 and the other for 
binding-ws-cxf


With the new proposal, I cannot achieve the pluggability unless we duplicate 
the bindingType info for binding.ws in two definitions.xml.


Thanks,
Raymond
--
From: Jean-Sebastien Delfino [EMAIL PROTECTED]
Sent: Monday, May 12, 2008 1:56 PM
To: tuscany-dev@ws.apache.org
Subject: Re: [DISCUSS] Declaring extensions as being available in the domain


Venkata Krishnan wrote:

Hi Ant,

Yes, this sounds good to me - that will make all meta-data related to an
extension available in just one place.

- Venkat



What i was thinking of was along the lines of adding Tuscany specific 
xml

to
the definitions file that replaces everything we currently put in the
meta-inf/services files for binding and implementation extensions, eg
something like:

definitions xmlns:tuscany=http://tuscany.apache.org/xmlns/sca/1.0; ... 
 


  bindingType type=binding.ws ... 

 tuscany:binding

providerFactory=org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingProviderFactory

model=org.apache.tuscany.sca.binding.ws.WebServiceBinding /

  /bindingType

/definitions



IMHO this is mixing different concerns that should be kept independent:

- domain != runtime
- policy definitions != runtime extensions
- application level definitions != system definitions

If you don't like the current META-INF/services approach and really want 
to change all that, I'd suggest to come up with a proper extension 
mechanism, independent of SCA policy definitions, something like OSGi for 
example would be more suitable for this.


--
Jean-Sebastien 




[BRAINSTORM] Future improvements for Tuscany databinding framework

2008-05-12 Thread Raymond Feng

Hi,

To improve the Tuscany databinding framework for simplicity and flexibility, 
I come out a list of potential TODOs. Your feedback/ideas/help will be very 
welcome.


* Refine/simplify the databinding SPIs (for better extensibility and 
consumeablity)
* Make the databinding framework easy to use as a utility in addtion to an 
interceptor (Ideally, other projects can leverage this framework without 
pulling into the whole tuscany runtime. I think we are very close.)
* Use MIME types to model the databinding ids (for example, application/xml, 
application/x-java-serialized-object, image/jpeg)
* Support MIME based binary data types (incuding the xmime extensions in 
WSDL/XSD)
* Improve the performance of key transformers (such as JAXB -- AXIOM, we 
could reuse some JAXB code from Axis2 JAXWS support)
* Better support for collective/aggregate data types such as 
java.util.Collection
* Support annotations of a java type (for example, an InputStream can be 
used to contain different formats of data) to further constrain the data 
type (We could use the JAXB annotation for this purpose)
* Find better ways to represent the databinding requirements for bindings 
which weakly-typed message structure (no well-defined wire format) such as 
JMS Message or JCA Record

* More and better documents

Thanks,
Raymond 



Re: [DISCUSS] Declaring extensions as being available in the domain

2008-05-12 Thread Raymond Feng
My understanding is the definitions.xml from the SCA spec can be used to 
describe what the bindingType/implementationType always or may provide 
certain intents by the nature of the binding. That's why I think the tuscany 
extension declaration should be separate from the definitions.xml.


Thanks,
Raymond

--
From: Simon Laws [EMAIL PROTECTED]
Sent: Monday, May 12, 2008 2:34 PM
To: tuscany-dev@ws.apache.org
Subject: Re: [DISCUSS] Declaring extensions as being available in the domain

On Mon, May 12, 2008 at 10:24 PM, Raymond Feng [EMAIL PROTECTED] 
wrote:



I share the same concerns as Sebastien raised. Mixing the policy
definitions with tuscany runtime extensions in one file doesn't seem to 
be

right. For example, we could have two tuscany extensions to support
binding.ws, one is based on Axis2 while the other one is based on CXF.
With the current approach, we will see three files:

definitions.xml for binding.ws bindingType which is independent of the
underlying ws stack
two META-INF/services/... files, one for binding-ws-axis2 and the other
for binding-ws-cxf

With the new proposal, I cannot achieve the pluggability unless we
duplicate the bindingType info for binding.ws in two definitions.xml.

Thanks,
Raymond
--
From: Jean-Sebastien Delfino [EMAIL PROTECTED]
Sent: Monday, May 12, 2008 1:56 PM
To: tuscany-dev@ws.apache.org
Subject: Re: [DISCUSS] Declaring extensions as being available in the
domain


 Venkata Krishnan wrote:

  Hi Ant,
 
  Yes, this sounds good to me - that will make all meta-data related to
  an
  extension available in just one place.
 
  - Venkat
 
 
 What i was thinking of was along the lines of adding Tuscany
   specific xml
   to
   the definitions file that replaces everything we currently put in
   the
   meta-inf/services files for binding and implementation extensions,
   eg
   something like:
  
   definitions 
   xmlns:tuscany=http://tuscany.apache.org/xmlns/sca/1.0;

   ...  
  
bindingType type=binding.ws ... 
  
   tuscany:binding
  
  
   
providerFactory=org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingProviderFactory
  
   model=org.apache.tuscany.sca.binding.ws.WebServiceBinding /
  
/bindingType
  
   /definitions
  
  
 IMHO this is mixing different concerns that should be kept independent:

 - domain != runtime
 - policy definitions != runtime extensions
 - application level definitions != system definitions

 If you don't like the current META-INF/services approach and really 
 want

 to change all that, I'd suggest to come up with a proper extension
 mechanism, independent of SCA policy definitions, something like OSGi 
 for

 example would be more suitable for this.

 --
 Jean-Sebastien




So I get the impression that you don't like this but you neglect to say
whether you think the spec means this or not. Would be useful to know as 
if

we think the spec means that we have to do more with the definitions.xml
file and Tuscany doesn't want to do it then we have to take our concerns
elsewhere.

Simon



Re: [VOTE] Graduate Apache Tuscany as a Top Level Project (take two)

2008-05-11 Thread Raymond Feng

+1 from me.

Thanks,
Raymond

--
From: ant elder [EMAIL PROTECTED]
Sent: Saturday, May 10, 2008 12:17 AM
To: tuscany-dev tuscany-dev@ws.apache.org
Subject: [VOTE] Graduate Apache Tuscany as a Top Level Project (take two)

Restarting the graduation vote with the updated proposal words, please 
vote

on the proposal below to graduate Tuscany to a TLP.

+1 from me.

  ...ant

X. Establish the Apache Tuscany Project

WHEREAS, the Board of Directors deems it to be in the best
interests of the Foundation and consistent with the Foundation's
purpose to establish a Project Management Committee charged with
the creation and maintenance of open-source software for
distribution at no charge to the public, that simplifies the
development, deployment and management of distributed applications
built as compositions of service components. These components
may be implemented with a range of technologies and connected
using a variety of communication protocols. This software will
implement relevant open standards including, but not limited to,
the Service Component Architecture standard defined by the OASIS
OpenCSA member section, and related technologies.

NOW, THEREFORE, BE IT RESOLVED, that a Project Management
Committee (PMC), to be known as the Apache Tuscany Project,
be and hereby is established pursuant to Bylaws of the
Foundation; and be it further

RESOLVED, that the Apache Tuscany Project be and hereby is
responsible for the creation and maintenance of software
related to Apache Tuscany;
and be it further

RESOLVED, that the office of Vice President, Apache Tuscany be
and hereby is created, the person holding such office to
serve at the direction of the Board of Directors as the chair
of the Apache Tuscany Project, and to have primary responsibility
for management of the projects within the scope of
responsibility of the Apache Tuscany Project; and be it further

RESOLVED, that the persons listed immediately below be and
hereby are appointed to serve as the initial members of the
Apache Tuscany Project:

   * Adriano Crestani adrianocrestani at apache dot org
   * ant elder antelder at apache dot org
   * Brady Johnson bjohnson at apache dot org
   * Frank Budinsky frankb at apache dot org
   * Ignacio Silva-Lepe isilval at apache dot org
   * Jean-Sebastien Delfino jsdelfino at apache dot org
   * kelvin goodson kelvingoodson at apache dot org
   * Luciano Resende lresende at apache dot org
   * Mark Combellack mcombellack at apache dot org
   * Matthieu Riou mriou at apache dot org
   * Mike Edwards edwardsmj at apache dot org
   * Paul Fremantle pzf at apache dot org
   * Pete Robbins robbinspg at apache dot org
   * Raymond Feng rfeng at apache dot org
   * Simon Laws slaws at apache dot org
   * Simon Nash nash at apache dot org
   * Venkata Krishnan svkrish at apache dot org

NOW, THEREFORE, BE IT FURTHER RESOLVED, that Ant Elder
be appointed to the office of Vice President, Apache Tuscany, to
serve in accordance with and subject to the direction of the
Board of Directors and the Bylaws of the Foundation until
death, resignation, retirement, removal or disqualification,
or until a successor is appointed; and be it further

RESOLVED, that the Apache Tuscany Project be and hereby
is tasked with the migration and rationalization of the Apache
Incubator Tuscany podling; and be it further

RESOLVED, that all responsibilities pertaining to the Apache
Incubator Tuscany podling encumbered upon the Apache Incubator
Project are hereafter discharged.



  1   2   3   4   5   6   7   8   9   10   >