harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alexei Zakharov" <alexei.zakha...@gmail.com>
Subject Re: [classlib][beans] Current java6 bean implementation does not persist some class properly [was: There are some JDK 6 feature not implemented]
Date Thu, 05 Jul 2007 10:33:26 GMT
Paulex Yang wrote:
> What I meant is the test cases may need to be written against API factory
> method instead of construct implementation classes directly via
> implementation specific constructor/class, and the compatibility tests like
> serialization tests are needed. I have no preference in where the
> implementation classes locate.  :)

Look, in beans we have special (package-protected) entities that are
responsible for handling all persistence-related problems. If we like
to test these non-public entities we have two ways: write an
implementation test that can call protected methods directly to check
the desired behavior, or write an API test that will walk rather long
code path - create an appropriate content, instantiate XMLEncoder and
so on. In the last case our testing method is less accurate and
flexible comparing to the first one. Moreover, the real persistent
delegate issue can be hidden by bugs in complex logic of XMLEncoder.

Regards,

2007/7/5, Yang Paulex <paulex.yang@gmail.com>:
> 2007/7/5, Spark Shen <smallsmallorgan@gmail.com>:
> >
> > 2007/7/5, Yang Paulex <paulex.yang@gmail.com>:
> > >
> > > 2007/7/4, Alexei Zakharov <alexei.zakharov@gmail.com>:
> > > >
> > > > Spark Chen wrote:
> > > > > > If no objection, I will go to implement those missing persistence
> > > > > > functionality.
> > > >
> > > > FYI we already have number of persistence delegates classes located in
> > > > org.apache.harmony.beans package, and FieldPersistenceDelegate is one
> > > > of them.
> >
> >
> > I agree to utilize existing implementation. But there are still others
> > missing. For example, java.util.Collection and its subclasses[1].
> >
> > [1]http://issues.apache.org/jira/browse/HARMONY-4327
> >
> > It contains the algorithm that is very close to one you've
> > > > implemented in the patch for HARMONY-4321. So I don't think we should
> > > > add new FieldPersistenceDelegate, let's fix the existing one instead
> > > > (if it needs fixing). BTW, we also have a special folder
> > > > (src/test/java-internal/org/apache/harmony/beans) where tests for
> > > > persistence delegates are located. Shouldn't we create something like
> > > > FieldPersistenceDelegateTest there?
> > >
> > >
> > > Seems the tests in src/test/java-internal/org/apache/harmony/beans are
> > > implementation tests, all of which fail on RI with message like "
> > > java.lang.NoClassDefFoundError:
> > > org/apache/harmony/beans/ArrayPersistenceDelegate ". But I think the
> > > persistent delegate mechanism are very similar with serialization, on
> > > which
> > > we need to be compatible with other Java SE implementation, so it makes
> > > sense to make them the API tests which pass on RI. Did I miss something?
> >
> >
> > I agree to regard these test cases as  API tests.  And then these
> > persistenceDelegate implementations better be placed at
> > src/main/java/java/beans corresponding to test case layout.
>
>
> IMO, test case layout and  implementation class layout are different thing.
> What I meant is the test cases may need to be written against API factory
> method instead of construct implementation classes directly via
> implementation specific constructor/class, and the compatibility tests like
> serialization tests are needed. I have no preference in where the
> implementation classes locate.  :)
>
> Thanks,
> > > >
> > > > 2007/7/3, Tony Wu <wuyuehao@gmail.com>:
> > > > > On 7/3/07, Spark Shen <smallsmallorgan@gmail.com> wrote:
> > > > > > I find beans.XMLEncoder does not persist
> > > java.lang.reflect.Fieldproperly.
> > > > > > And I suspect there are more classes not properly handled.
> > > > > >
> > > > >
> > > > > Yes, I think so.
> > > > > > I have reported a JIRA:
> > > > > > https://issues.apache.org/jira/browse/HARMONY-4321
> > > > > >
> > > > > > If no objection, I will go to implement those missing persistence
> > > > > > functionality.
> > > > > >
> > > > >
> > > > > please go head:)



-- 
Alexei Zakharov,
Intel ESSD

Mime
View raw message