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]PersistentDelegates implementations(Re: [jira] Updated: (HARMONY-4473) [classlib][beans] Current bean implementation does not persist awt.Choice properly)
Date Wed, 18 Jul 2007 09:08:54 GMT
Spark,

> As you can see, put these delegates into o.a.h.beans package would result in
> tweaked code.

Sorry, looks like I miss your idea.  Do we need to call some
package-protected methods here? Could you please explain in more
details?
Thanks!

2007/7/18, Spark Shen <smallsmallorgan@gmail.com>:
> 2007/7/18, Yang Paulex <paulex.yang@gmail.com>:
> >
> > Spark,
> >
> > I noticed that you were working at the persistent delegation
> > implementations
> > recently, thanks for this enhancement.
>
> I am now adding  persistence delegate for some classes of awt package.
> Please refer to HY-4473 for detailed information.
>
> But I'm a little confused on this
> > patch and some others before, seems you are adding the implementations to
> > java.beans package, but in our former implementations, there are some for
> > primitive types in o.a.h.beans, I suppose they are actually stuffs in same
> > category, so does it make sense to make them in same package?
>
>
> I planed to put all the persistence delegates into o.a.h.beans package, but
> encounter problem. Persistence delegate of awt classes need to first check
> whether target value and new value will be mutable, as below´╝Ü
> <snip>
> PersistenceDelegate pd = enc
>     .getPersistenceDelegate(targetVal.getClass());
> if (!pd.mutatesTo(targetVal, newVal)) {
>     Statement setterStm = new Statement(oldInstance, "add", new Object[] {
> oldVal });
>     enc.writeStatement(setterStm);
> }
> </snip>
> As you can see, put these delegates into o.a.h.beans package would result in
> tweaked code.
>
> I agree to put all delegates into one place. Since that way, code would be
> more readable. And given the awt delegates implementation, my preferred
> destination is java.beans package.
>
>
> 2007/7/18, spark shen (JIRA) <jira@apache.org>:
> > >
> > >
> > >      [
> > >
> > https://issues.apache.org/jira/browse/HARMONY-4473?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
> > ]
> > >
> > > spark shen updated HARMONY-4473:
> > > --------------------------------
> > >
> > >     Attachment: HY-4473.patch
> > >
> > > > [classlib][beans] Current bean implementation does not persist
> > > awt.Choice properly
> > > >
> > >
> > ----------------------------------------------------------------------------------
> > > >
> > > >                 Key: HARMONY-4473
> > > >                 URL:
> > https://issues.apache.org/jira/browse/HARMONY-4473
> > > >             Project: Harmony
> > > >          Issue Type: Bug
> > > >          Components: Classlib
> > > >            Reporter: spark shen
> > > >            Assignee: Tony Wu
> > > >         Attachments: HY-4473.patch, HY-4473.sh
> > > >
> > > >
> > > > The following test case will throw StackOverflowError on Harmony but
> > > pass on RI:
> > > > public void test_writeObject_java_awt_Choice() {
> > > >         ByteArrayOutputStream byteArrayOutputStream = new
> > > ByteArrayOutputStream();
> > > >         XMLEncoder encoder = new XMLEncoder(new BufferedOutputStream(
> > > >             byteArrayOutputStream));
> > > >         Choice choice = new Choice();
> > > >         encoder.writeObject(choice);
> > > >         encoder.close();
> > > >         DataInputStream stream = new DataInputStream(new
> > > ByteArrayInputStream(
> > > >                 byteArrayOutputStream.toByteArray()));
> > > >         XMLDecoder decoder = new XMLDecoder(stream);
> > > >         Choice aChoice = (Choice) decoder.readObject();
> > > >         assertEquals(choice.getFocusTraversalKeysEnabled(), aChoice
> > > >                 .getFocusTraversalKeysEnabled());
> > > >     }
> > > > Besides Choice, the awt classes need special treatment are:
> > > > SystemColor,
> > > > TextAttribute,
> > > > MenuShortcut,
> > > > awt.Component,
> > > > awt.Container,
> > > > Menu,
> > > > MenuBar,
> > > > awt.List,
> > > > BorderLayout,
> > > > CardLayout,
> > > > GridLayout,
> > > > Insets,
> > > > Point,
> > > > ScrollPane
> > >
> > > --
> > > This message is automatically generated by JIRA.
> > > -
> > > You can reply to this email to add a comment to the issue online.


-- 
Alexei Zakharov,
Intel ESSD

Mime
View raw message