Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-ui-dev] Giving some love to org.eclipse.core.databinding.observable

Hello Stefan,

nice to hear that you are willing to work on modernizing the databinding framework.
I have also been playing around with the generified http://git.eclipse.org/c/e4/org.eclipse.e4.databinding.git/ version and it seems to be working quite well.
I think the best approach is to enhance the e4 repo, since the generics issue has already been done here.

Let me know, if I can help with some issue. At least I could review your changes.

Simon

On 16.05.2015 00:10, Stefan Xenos wrote:
So it looks like most of the work to convert to generics has already been done in that repository. How come it was never pushed to the main repository?

FYI, that repository contains some dangerous code -- particularly the fix for bug 425704. That bit definitely shouldn't go to the main repo, but most of the rest looks pretty good.

Is there something that's still incomplete or broken?

On Fri, May 15, 2015 at 2:37 PM Tom Schindl <tom.schindl@xxxxxxxxxxxxxxx> wrote:

On my doubts on realm i reply later on.

Tom

Von meinem iPhone gesendet

Am 15.05.2015 um 23:29 schrieb Stefan Xenos <sxenos@xxxxxxxxxx>:

Do you have the repo/branch name for the e4 git repo where people tried to add generics to the databinding project?

Regarding realms: a realm is essentially the same thing as an actor in http://www.ponylang.org/ -- AFAIK, it's a standard primitive for lock-free multithreading. When you say it's broken, what specifically do you mean?


On Fri, May 15, 2015 at 2:24 PM Tom Schindl <tom.schindl@xxxxxxxxxxxxxxx> wrote:
On generics - there is a version in the e4 git repo where people tried to add generics - at least you could get inspired by that.

On reactive: very welcome having this added 

On thread sync: if you ask me the realm concept is totally broken and i don't think the databinding lib should be dealing with it

Tom

Von meinem iPhone gesendet

Am 15.05.2015 um 23:05 schrieb Stefan Xenos <sxenos@xxxxxxxxxx>:

I'm starting to use the org.eclipse.core.databinding.observable plugin for one of my projects, but I see it hasn't had any love for about 5 years. I was thinking of updating the plugin but figured I'd discuss the changes here first, since they'd be fairly sweeping.

1. I notice the plugin has been updated to java 1.7, but the code is still written in 1.4 style.
- Most of the IObservable implementations were designed to be generics but they haven't been converted to actually use generics yet.
- Many of the methods are supposed to be annotated with @TrackedGetter, but the annotation is currently in comments rather than actual code.

2. It hasn't been updated to use modern algorithms for reactive programming frameworks. The whole library still uses listeners for change propogation, which are subject to event storms and degenerate in the repeated diamond shape.

Reference:

I know a good algorithm that addresses this quite efficiently and can deep-dive on it if anyone wants details.

3. Each async event currently gets executed as a separate asyncExec. This allows paints to get interleaved with the events, possibly causing flicker and triggering multiple layouts. I plan to put all pending updates in a queue and process them as a batch, ensuring that only one paint or layout pass occurs at the end.

Thoughts?

  - Stefan
_______________________________________________
platform-ui-dev mailing list
platform-ui-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-ui-dev
_______________________________________________
platform-ui-dev mailing list
platform-ui-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-ui-dev
_______________________________________________
platform-ui-dev mailing list
platform-ui-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-ui-dev
_______________________________________________
platform-ui-dev mailing list
platform-ui-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-ui-dev


_______________________________________________
platform-ui-dev mailing list
platform-ui-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/platform-ui-dev

-- 

---
Trainer, Consultant and Developer

vogella GmbH
Haindaalwisch 17a, 22395 Hamburg
Amtsgericht Hamburg: HRB 127058
Geschäftsführer: Lars Vogel, Jennifer Nerlich de Vogel
USt-IdNr.: DE284122352
Tel (040) 78804360, Fax (032) 221739404, Email: simon.scholz@xxxxxxxxxxx, Web: http://www.vogella.com 

Back to the top