You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by Thilina Gunarathne <cs...@gmail.com> on 2006/12/11 11:17:02 UTC

[axis2] Builder Selector Proposal

Hi all,
Axis2 logic for content-type to builder mapping is getting polluted
over time with the introduction of new builders(MTOM,XOP...). We would
like to propose a BuilderSelector to take over this logic making it
more scalable and clean.

BuilderSelector is effectively a Map of content-type to builder
(extends StaxBuilder) implementations. We can  store this Map in the
Axis2Configuration, which can be populated through the Axis2.xml. We
can add  a new section to Axis2.xml in order to configure these
mappings. BuilderSelector will play a much significant role as we go
ahead with supporting more and more formats.  Also this will give a
very good extension point to the users to add custom format support
for Axis2. One example would be a user who wants to introduce a CORBA
builder to Axis2 without hacking the internals.

As a start we can introduce this as a fall back mechanism to support the
new content-types. Over the time we can move all the builders selections
to the BuilderSelector.

Ideas??

-- 
Thilina Gunarathne
WSO2, Inc.; http://www.wso2.com/
Home page: http://webservices.apache.org/~thilina/
Blog: http://thilinag.blogspot.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Re: [axis2] Builder Selector Proposal

Posted by Thilina Gunarathne <cs...@gmail.com>.
Nick,
We already have an attachment API in MessageContext which can be used to
access attachements.  That's one end of the problem which we are trying to
tackle.. In order to set that reference, the MIME processing logic needs to
access the message context or otherwise.

It's impossible for the builders which reside in Axiom to have access to
message context since axiom is not aware of MessageContext.

~Thilina

On 12/13/06, Nicholas L Gallardo <nl...@us.ibm.com> wrote:
>
>
> Thilina,
>
> > For the moment I thought of using the content-type and the
> > inputstream.. But ideally this decision will be based on how deep we
> > are going to use the builders. It would be nice if we can let the
> > builders to handle the attachment stuff too, but it's simply not
> > possible since Axiom is not aware of MessageContext.
>
> Count me in the group that thinks it would be nice for the builder to
> either a) have access to the MessageContext or b) have some place to put
> attachment data so that it's not in the OM itself.  This might already be
> done, but if not, would be nice to have.
>
> Regards,
>
> -Nick
>
>
>
>  *"Thilina Gunarathne" <cs...@gmail.com>*
>
> 12/12/2006 05:40 AM  Please respond to
> axis-dev@ws.apache.org
>
>   To
> axis-dev@ws.apache.org, dims@apache.org  cc
>
>  Subject
> Re: [axis2] Builder Selector Proposal
>
>
>
>
>
>
> Hi Dims,
> > +1, Please throw in an interface for someone to write a custom builder
> > and plug it in as well.
> That's the tricky part.. We already have the hierachy starting from
> StaxBuilder. There's is an inteface called OMStaxParserWrapper, but
> nobodyt seem to be using it..  It'll be bit hard to plugin another
> interface at this moment of time. Becuase of that I thought of using
> StaxBuilder as the abstract class..  To be honest this will not be
> easy for the users..
>
> > On a related note...Do you think a builder will need access to the
> > whole MessageContext and not just the content-type?
> For the moment I thought of using the content-type and the
> inputstream.. But ideally this decision will be based on how deep we
> are going to use the builders. It would be nice if we can let the
> builders to handle the attachment stuff too, but it's simply not
> possible since Axiom is not aware of MessageContext.
>
> Thanks,
> Thilina
>
> >
> > -- dims
> >
> > On 12/11/06, Thilina Gunarathne <cs...@gmail.com> wrote:
> > > Hi all,
> > > Axis2 logic for content-type to builder mapping is getting polluted
> > > over time with the introduction of new builders(MTOM,XOP...). We would
> > > like to propose a BuilderSelector to take over this logic making it
> > > more scalable and clean.
> > >
> > > BuilderSelector is effectively a Map of content-type to builder
> > > (extends StaxBuilder) implementations. We can  store this Map in the
> > > Axis2Configuration, which can be populated through the Axis2.xml. We
> > > can add  a new section to Axis2.xml in order to configure these
> > > mappings. BuilderSelector will play a much significant role as we go
> > > ahead with supporting more and more formats.  Also this will give a
> > > very good extension point to the users to add custom format support
> > > for Axis2. One example would be a user who wants to introduce a CORBA
> > > builder to Axis2 without hacking the internals.
> > >
> > > As a start we can introduce this as a fall back mechanism to support
> the
> > > new content-types. Over the time we can move all the builders
> selections
> > > to the BuilderSelector.
> > >
> > > Ideas??
> > >
> > > --
> > > Thilina Gunarathne
> > > WSO2, Inc.; http://www.wso2.com/
> > > Home page: http://webservices.apache.org/~thilina/<http://webservices.apache.org/%7Ethilina/>
> > > Blog: http://thilinag.blogspot.com/
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > > For additional commands, e-mail: axis-dev-help@ws.apache.org
> > >
> > >
> >
> >
> > --
> > Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service
> Developers)
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-dev-help@ws.apache.org
> >
> >
>
>
> --
> Thilina Gunarathne
> WSO2, Inc.; http://www.wso2.com/
> Home page: http://webservices.apache.org/~thilina/<http://webservices.apache.org/%7Ethilina/>
> Blog: http://thilinag.blogspot.com/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-dev-help@ws.apache.org
>
>
>


-- 
Thilina Gunarathne
WSO2, Inc.; http://www.wso2.com/
Home page: http://webservices.apache.org/~thilina/
Blog: http://thilinag.blogspot.com/

Re: [axis2] Builder Selector Proposal

Posted by Nicholas L Gallardo <nl...@us.ibm.com>.
Thilina,

> For the moment I thought of using the content-type and the
> inputstream.. But ideally this decision will be based on how deep we
> are going to use the builders. It would be nice if we can let the
> builders to handle the attachment stuff too, but it's simply not
> possible since Axiom is not aware of MessageContext.

Count me in the group that thinks it would be nice for the builder to 
either a) have access to the MessageContext or b) have some place to put 
attachment data so that it's not in the OM itself.  This might already be 
done, but if not, would be nice to have.

Regards,

-Nick




"Thilina Gunarathne" <cs...@gmail.com> 
12/12/2006 05:40 AM
Please respond to
axis-dev@ws.apache.org


To
axis-dev@ws.apache.org, dims@apache.org
cc

Subject
Re: [axis2] Builder Selector Proposal






Hi Dims,
> +1, Please throw in an interface for someone to write a custom builder
> and plug it in as well.
That's the tricky part.. We already have the hierachy starting from
StaxBuilder. There's is an inteface called OMStaxParserWrapper, but
nobodyt seem to be using it..  It'll be bit hard to plugin another
interface at this moment of time. Becuase of that I thought of using
StaxBuilder as the abstract class..  To be honest this will not be
easy for the users..

> On a related note...Do you think a builder will need access to the
> whole MessageContext and not just the content-type?
For the moment I thought of using the content-type and the
inputstream.. But ideally this decision will be based on how deep we
are going to use the builders. It would be nice if we can let the
builders to handle the attachment stuff too, but it's simply not
possible since Axiom is not aware of MessageContext.

Thanks,
Thilina

>
> -- dims
>
> On 12/11/06, Thilina Gunarathne <cs...@gmail.com> wrote:
> > Hi all,
> > Axis2 logic for content-type to builder mapping is getting polluted
> > over time with the introduction of new builders(MTOM,XOP...). We would
> > like to propose a BuilderSelector to take over this logic making it
> > more scalable and clean.
> >
> > BuilderSelector is effectively a Map of content-type to builder
> > (extends StaxBuilder) implementations. We can  store this Map in the
> > Axis2Configuration, which can be populated through the Axis2.xml. We
> > can add  a new section to Axis2.xml in order to configure these
> > mappings. BuilderSelector will play a much significant role as we go
> > ahead with supporting more and more formats.  Also this will give a
> > very good extension point to the users to add custom format support
> > for Axis2. One example would be a user who wants to introduce a CORBA
> > builder to Axis2 without hacking the internals.
> >
> > As a start we can introduce this as a fall back mechanism to support 
the
> > new content-types. Over the time we can move all the builders 
selections
> > to the BuilderSelector.
> >
> > Ideas??
> >
> > --
> > Thilina Gunarathne
> > WSO2, Inc.; http://www.wso2.com/
> > Home page: http://webservices.apache.org/~thilina/
> > Blog: http://thilinag.blogspot.com/
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-dev-help@ws.apache.org
> >
> >
>
>
> --
> Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service 
Developers)
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-dev-help@ws.apache.org
>
>


-- 
Thilina Gunarathne
WSO2, Inc.; http://www.wso2.com/
Home page: http://webservices.apache.org/~thilina/
Blog: http://thilinag.blogspot.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org



Re: [axis2] Builder Selector Proposal

Posted by Thilina Gunarathne <cs...@gmail.com>.
Hi Dims,
> +1, Please throw in an interface for someone to write a custom builder
> and plug it in as well.
That's the tricky part.. We already have the hierachy starting from
StaxBuilder. There's is an inteface called OMStaxParserWrapper, but
nobodyt seem to be using it..  It'll be bit hard to plugin another
interface at this moment of time. Becuase of that I thought of using
StaxBuilder as the abstract class..  To be honest this will not be
easy for the users..

> On a related note...Do you think a builder will need access to the
> whole MessageContext and not just the content-type?
For the moment I thought of using the content-type and the
inputstream.. But ideally this decision will be based on how deep we
are going to use the builders. It would be nice if we can let the
builders to handle the attachment stuff too, but it's simply not
possible since Axiom is not aware of MessageContext.

Thanks,
Thilina

>
> -- dims
>
> On 12/11/06, Thilina Gunarathne <cs...@gmail.com> wrote:
> > Hi all,
> > Axis2 logic for content-type to builder mapping is getting polluted
> > over time with the introduction of new builders(MTOM,XOP...). We would
> > like to propose a BuilderSelector to take over this logic making it
> > more scalable and clean.
> >
> > BuilderSelector is effectively a Map of content-type to builder
> > (extends StaxBuilder) implementations. We can  store this Map in the
> > Axis2Configuration, which can be populated through the Axis2.xml. We
> > can add  a new section to Axis2.xml in order to configure these
> > mappings. BuilderSelector will play a much significant role as we go
> > ahead with supporting more and more formats.  Also this will give a
> > very good extension point to the users to add custom format support
> > for Axis2. One example would be a user who wants to introduce a CORBA
> > builder to Axis2 without hacking the internals.
> >
> > As a start we can introduce this as a fall back mechanism to support the
> > new content-types. Over the time we can move all the builders selections
> > to the BuilderSelector.
> >
> > Ideas??
> >
> > --
> > Thilina Gunarathne
> > WSO2, Inc.; http://www.wso2.com/
> > Home page: http://webservices.apache.org/~thilina/
> > Blog: http://thilinag.blogspot.com/
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> > For additional commands, e-mail: axis-dev-help@ws.apache.org
> >
> >
>
>
> --
> Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service Developers)
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-dev-help@ws.apache.org
>
>


-- 
Thilina Gunarathne
WSO2, Inc.; http://www.wso2.com/
Home page: http://webservices.apache.org/~thilina/
Blog: http://thilinag.blogspot.com/

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org


Re: [axis2] Builder Selector Proposal

Posted by Davanum Srinivas <da...@gmail.com>.
+1, Please throw in an interface for someone to write a custom builder
and plug it in as well.

On a related note...Do you think a builder will need access to the
whole MessageContext and not just the content-type?

-- dims

On 12/11/06, Thilina Gunarathne <cs...@gmail.com> wrote:
> Hi all,
> Axis2 logic for content-type to builder mapping is getting polluted
> over time with the introduction of new builders(MTOM,XOP...). We would
> like to propose a BuilderSelector to take over this logic making it
> more scalable and clean.
>
> BuilderSelector is effectively a Map of content-type to builder
> (extends StaxBuilder) implementations. We can  store this Map in the
> Axis2Configuration, which can be populated through the Axis2.xml. We
> can add  a new section to Axis2.xml in order to configure these
> mappings. BuilderSelector will play a much significant role as we go
> ahead with supporting more and more formats.  Also this will give a
> very good extension point to the users to add custom format support
> for Axis2. One example would be a user who wants to introduce a CORBA
> builder to Axis2 without hacking the internals.
>
> As a start we can introduce this as a fall back mechanism to support the
> new content-types. Over the time we can move all the builders selections
> to the BuilderSelector.
>
> Ideas??
>
> --
> Thilina Gunarathne
> WSO2, Inc.; http://www.wso2.com/
> Home page: http://webservices.apache.org/~thilina/
> Blog: http://thilinag.blogspot.com/
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
> For additional commands, e-mail: axis-dev-help@ws.apache.org
>
>


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

---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org