harmony-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Spark Shen" <smallsmallor...@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:37:07 GMT
2007/7/5, Alexei Zakharov <alexei.zakharov@gmail.com>:
>
> 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.


But, the problem is some internal tests will fail on RI. Then what's these
test cases test against?

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
>



-- 
Spark Shen
China Software Development Lab, IBM

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message