Re: [Summary] Monitor Extension Functionality How to create a new monitor extension
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
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
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
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
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
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
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?
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中文论坛)
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
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
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?
+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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
[ 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
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
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
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
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
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
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
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
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
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()
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
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
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
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
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
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
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
[ 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
[ 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
[ 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
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
[ 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
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
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
+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
+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
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?
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?
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?
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
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
[ 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
[ 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
[ 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
[ 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
[ 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
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
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
[ 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?
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?
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
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
[ 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
[ 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
[ 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
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
[ 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
[ 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
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 !!
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
[ 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?
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
[ 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
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
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
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)!
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
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?
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?
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
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?
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)
[ 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)
[ 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
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
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
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
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
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
[ 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
[ 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
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
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)
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
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
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
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
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
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
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)
+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.