Aegis versus jaxrs

2008-07-31 Thread Benson Margulies
If I'm reading the JAX-RS code correctly, which I'm probably not, it doesn't
use the JAXB DataBinding object. It interacts class-by-class with JAXB.

I think I can do likewise for Aegis, sort of, but it could get ugly. Does
JAX-RS give us no ability to configure a data binding at the level of the
entire service?


Re: Aegis versus jaxrs

2008-07-31 Thread Benson Margulies
When a CXF service offers JAX-RS, some CXF-specific configuration is
involved, no? So, could we not have some properties at the service level
which the ProviderFactory consumes-if-provided? Aegis in particular has a
set of configuration options, it would be very cumbersome to force those to
be configured per-MessageBodyProvider.

My proposal is that the JAXRSServerFactoryBean could be given DataBinding
objects, and the ProviderFactory would use them. If there aren't any, it
would do what it does now.

On a more detailed note, how would you propose that the ProviderFactory
arbitrate between using JAXB and Aegis? They support the same annotations on
the code. Isn't this another reason to have a Server Factory configuration,
to specify which data binding to use by default? Or is some other mechanism
at work here that I haven't comprehended?



On Thu, Jul 31, 2008 at 10:23 AM, Sergey Beryozkin 
[EMAIL PROTECTED] wrote:

 Hi

  If I'm reading the JAX-RS code correctly, which I'm probably not, it
 doesn't
 use the JAXB DataBinding object. It interacts class-by-class with JAXB.


 At the moment yes, and this is a reson I excluded a jaxb-databinding
 module, just to minimize the size of the cxf-jaxrs bundle. I think jaxb api
 is picked up recursively from some other module, I actually didn't check
 from which one.


 I think I can do likewise for Aegis, sort of, but it could get ugly.


 If you'd like to do an Aegis Provider and a jaxb binding module would help
 you then please do include it in the pom again.

  Does
 JAX-RS give us no ability to configure a data binding at the level of the
 entire service?


 In JAX-RS, it's individual MessageBodyProviders which are responsible for
 (un)marshalling. So probably, not...
 Perhaps the default JAXBProvider can be updated to reuse some of the code
 from a jaxb binding, not sure

 Cheers, Sergey

 
 IONA Technologies PLC (registered in Ireland)
 Registered Number: 171387
 Registered Address: The IONA Building, Shelbourne Road, Dublin 4, Ireland



[QUESTION OF TASTE] Resurrect AegisServiceConfiguration or pick a new name?

2008-07-31 Thread Benson Margulies
We come to discover that there's a bunch of Aegis per-service configuration
which is dead in CXF because the service factory doesn't talk to the data
binding. The logical way to address this is a ServiceConfiguration.

We have a deprecated AegisServiceConfiguration that has the effect of adding
XFire-style '/'s to the ends of URLs. Dan suggests un-deprecating this and
adding in the code to fix up the parameters and all that jazz.

I'm not happy about enshrining the trailing / convention as a permanent
feature of Aegis in CXF.

Possibilities:

1) Create a new AegisServiceConfiguration in org.apache.cxf.aegis.service.

 2) Make the trailing-/ behavior optional, turned off by default.

 3) Just leave the trailing-/ out, and document the need to toss in the
XFireCompatibilityServiceConfiguration to the stack to get that behavior in
2.1.x.

 4) create org.cxf.aegis.databinding.AegisXmlServiceConfiguration to make it
clear that all this is doing is respecting .aegis.xml files, not anything
else.

I'm kind of partial to #4, but I'm prepared to be cooperative.


[QUESTION OF TASTE] Should an Aegis(Xml)ServiceConfiguration demand the presence of an AegisDatabinding?

2008-07-31 Thread Benson Margulies
Proposal:

The service configuration will obtain the data binding from the
service factory. If it is Aegis, it will extract the desired
customizations. If it is not Aegis, it will do nothing. It will NOT
independently pull in and parse the XML.

The alternative is, of course, to allow Aegis configuration to be
mixed with anything else by just going ahead and reading the file (if
any) at that point.

The former is less work and arguably less confusing, but I'll do the
later if others think it superior.


Re: [QUESTION OF TASTE] Resurrect AegisServiceConfiguration or pick a new name?

2008-07-31 Thread Daniel Kulp


I'm quite OK with #4.   Makes it explicitly clear what it's doing.

Dan



On Jul 31, 2008, at 1:44 PM, Benson Margulies wrote:

We come to discover that there's a bunch of Aegis per-service  
configuration
which is dead in CXF because the service factory doesn't talk to the  
data

binding. The logical way to address this is a ServiceConfiguration.

We have a deprecated AegisServiceConfiguration that has the effect  
of adding
XFire-style '/'s to the ends of URLs. Dan suggests un-deprecating  
this and

adding in the code to fix up the parameters and all that jazz.

I'm not happy about enshrining the trailing / convention as a  
permanent

feature of Aegis in CXF.

Possibilities:

1) Create a new AegisServiceConfiguration in  
org.apache.cxf.aegis.service.


2) Make the trailing-/ behavior optional, turned off by default.

3) Just leave the trailing-/ out, and document the need to toss in the
XFireCompatibilityServiceConfiguration to the stack to get that  
behavior in

2.1.x.

4) create org.cxf.aegis.databinding.AegisXmlServiceConfiguration to  
make it
clear that all this is doing is respecting .aegis.xml files, not  
anything

else.

I'm kind of partial to #4, but I'm prepared to be cooperative.


---
Daniel Kulp
[EMAIL PROTECTED]
http://www.dankulp.com/blog






Re: [QUESTION OF TASTE] Resurrect AegisServiceConfiguration or pick a new name?

2008-07-31 Thread Benson Margulies
Thanks.

On Thu, Jul 31, 2008 at 3:20 PM, Daniel Kulp [EMAIL PROTECTED] wrote:

 I'm quite OK with #4.   Makes it explicitly clear what it's doing.

 Dan



 On Jul 31, 2008, at 1:44 PM, Benson Margulies wrote:

 We come to discover that there's a bunch of Aegis per-service
 configuration
 which is dead in CXF because the service factory doesn't talk to the data
 binding. The logical way to address this is a ServiceConfiguration.

 We have a deprecated AegisServiceConfiguration that has the effect of
 adding
 XFire-style '/'s to the ends of URLs. Dan suggests un-deprecating this and
 adding in the code to fix up the parameters and all that jazz.

 I'm not happy about enshrining the trailing / convention as a permanent
 feature of Aegis in CXF.

 Possibilities:

 1) Create a new AegisServiceConfiguration in org.apache.cxf.aegis.service.

 2) Make the trailing-/ behavior optional, turned off by default.

 3) Just leave the trailing-/ out, and document the need to toss in the
 XFireCompatibilityServiceConfiguration to the stack to get that behavior
 in
 2.1.x.

 4) create org.cxf.aegis.databinding.AegisXmlServiceConfiguration to make
 it
 clear that all this is doing is respecting .aegis.xml files, not anything
 else.

 I'm kind of partial to #4, but I'm prepared to be cooperative.

 ---
 Daniel Kulp
 [EMAIL PROTECTED]
 http://www.dankulp.com/blog