You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by Douglas Leite <do...@gmail.com> on 2008/05/06 20:27:57 UTC
Re: [DISCUSS] Evolving Implementation-data-xml
Here is a first version of the implementation proposed:
https://issues.apache.org/jira/browse/TUSCANY-2297
I've added the Collection interface support to the implementation-data-xml,
where the logic of the put, post, get, and delete methods are, basically,
the same of the update, insert, get, and delete methods, respectively,
provided by DATA interface.
An implementation-data-xml component supports now two service interfaces:
DATA and Collection.
I am not sure, but after the results I got, I realize that an component
cannot have two or more interfaces with the same name, even though those
have different types. Hence, I've adopted this pattern:
- DATA service: table name+_DATA;
- Collection service: table name;
Suggestions?
On Thu, Apr 24, 2008 at 2:56 PM, Douglas Leite <do...@gmail.com> wrote:
> I agree with you. Changing the return type of put and delete methods
> wouldn't be useful for all kinds of situations.
> To this first version I will let the implementation-data-xml support both
> interfaces DATA and Collection.
>
>
> On Thu, Apr 24, 2008 at 1:48 PM, Luciano Resende <lu...@gmail.com>
> wrote:
>
> > On Thu, Apr 24, 2008 at 8:30 AM, Douglas Leite <do...@gmail.com>
> > wrote:
> > > I have started to integrate the Collection interface with
> > > implentation-data-xml. Although the methods present in the DATA
> > interface
> > > (get, insert, update, delete) can be replaced by the Collection
> > interface's
> > > methods (get, post, put, delete), there are some differences. The
> > update and
> > > delete DATA methods return the number of rows affected by each
> > method. On
> > > the other hand, this feature is not present using the Collection
> > methods,
> > > because put and delete are void.
> > >
> >
> > I guess what you are describing here is a side effect of Collection
> > being a more REST based interface and designed to perform put and
> > delete on a given resource, when the current DATA interface allows for
> > manipulating multiple rows at a time. Maybe we could have the
> > implementation-data-xml to support both DATA and Collection
> > interfaces, and let time and integration with real scenarios decide
> > witch one would be more useful.
> >
> > > Would be better change the signature of the put and delete
> > Collection
> > > methods, allowing a K type return, or let a impl-data-xml component
> > has the
> > > two interfaces?
> > >
> >
> > I got a little confused here, as returning K (they key type) wouldn't
> > solve the first issue you raised. Anyway, looking at the current
> > Collection interface, key is used as a parameter thus known to the
> > caller.
> >
> > void put(K key, D item) throws NotFoundException;
> >
> > void delete(K key) throws NotFoundException;
> >
> > Then, I'm not sure about the benefits of changing it to return K.
> >
> > > On Tue, Apr 15, 2008 at 5:06 PM, Luciano Resende <
> > luckbr1975@gmail.com>
> > > wrote:
> > >
> > >
> > >
> > > > I'd suggest the following as the next steps around
> > implementation-data-xml
> > > >
> > > > - Add support for data collection interface from
> > implementation-data
> > > > - At this point, integration with binding-atom-abdera should be
> > > > working, it would be great to integrate this with our store
> > tutorial,
> > > > either by enhancing the catalog-db or by creating a new module
> > > > catalog-db-xml.
> > > > - The exercise above should also help drive the requirements for
> > > > database schema that you are proposing with a concrete scenario.
> > > >
> > > > Thoughts ?
> > > >
> > > > On Tue, Apr 15, 2008 at 12:14 PM, Douglas Leite <
> > dougsleite@gmail.com>
> > > > wrote:
> > > > > In my last contribution, I have proposed a first version of
> > Update and
> > > > > Insert methods for impl.data.xml component.
> > > > > One of the insert method limitations is that the table must only
> > have
> > > > > columns which types are char or varchar. However, I want to
> > improve
> > > > this,
> > > > > allowing any sql primitive type.
> > > > > The fact is, the syntax to insert a varchar, for example, is
> > different
> > > > to
> > > > > insert a integer. So, it's necessary to know the types of the
> > column.
> > > > > I could resolve this problem in, at least, to different ways:
> > First, I
> > > > could
> > > > > use metadata information on the InsertInvoker, and discover the
> > types of
> > > > > columns. Another way to do this, is to add the column type
> > information
> > > > in
> > > > > the xml stream retrieved by the get method. So, we would have
> > something
> > > > like
> > > > > this:
> > > > >
> > > > > <resultSet>
> > > > > <record>
> > > > > <column name="NAME" type="VARCHAR">New Coorporation
> > I</column>
> > > > > <column name="PHONE"
> > type="INTEGER">+5511990202146</column>
> > > > > . . .
> > > > > </record>
> > > > > </resultSet>
> > > > >
> > > > > I am not sure if other metadata informations should be added to
> > the xml
> > > > > stream. But, at the moment, I think that column type would be
> > useful.
> > > > >
> > > > > Thoughts?
> > > > >
> > > > > --
> > > > > Douglas Siqueira Leite
> > > > > Computer Science Master's degree student of University of
> > Campinas
> > > > (Unicamp)
> > > > >
> > > >
> > > >
> > > >
> > > > --
> > > > Luciano Resende
> > > > Apache Tuscany Committer
> > > > http://people.apache.org/~lresende<http://people.apache.org/%7Elresende><
> > http://people.apache.org/%7Elresende>
> > > > http://lresende.blogspot.com/
> > > >
> > > >
> > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: tuscany-dev-unsubscribe@ws.apache.org
> > > > For additional commands, e-mail: tuscany-dev-help@ws.apache.org
> > > >
> > > >
> > >
> > >
> > > --
> > >
> > >
> > > Douglas Siqueira Leite
> > > Computer Science Master's degree student of University of Campinas
> > (Unicamp)
> > >
> >
> >
> >
> > --
> > Luciano Resende
> > Apache Tuscany Committer
> > http://people.apache.org/~lresende<http://people.apache.org/%7Elresende>
> > http://lresende.blogspot.com/
> >
>
>
>
> --
> Douglas Siqueira Leite
> Computer Science Master's degree student of University of Campinas
> (Unicamp)
>
--
Douglas Siqueira Leite
Computer Science Master's degree student of University of Campinas (Unicamp)