Le 22/07/15 01:10, Stefan Seelmann a écrit :
> I did a change here: http://svn.apache.org/r1692199
>
> As you already found out whenever a value is selected in the entry
> editor all the value editors (or better their proxy) are checked if they
> are enabled. Within this isEnabled() check these two lines checked the
> "current/best" editor if the value is editable. So in case the if the an
> olcAccess attribute is selected the OpenLdapAclValueEditor was asked 28
> times.
>
> I think this check is not required, but maybe it is from the
> SearchResultEditorCellModifier, I'm not totally sure. Let's first see
> the Jenkins build result tonight.
>
> Anyway, there is much room for improvement.
>
> We call "IValueEditor.getRawValue() != null" very often just to find out
> if the editor can handle a value.Getting the raw value is sometimes
> cheap (just return a string as is) but sometimes quite expensive. Maybe
> an additional "canHanlde()" method would help.

I wonder if it's the right approach. That may aleviate the load, but we
still have a lot of listeners registred...

I was thinking about another approach : just register one single
listener, which would find the right proxy on the fly (ie, when the
selection is done). That requires a bit of work, as we will have to
change the way we register the proxies, and to create this specific
selection listener, whch will contain the list of editor proxies.

I have debugged the code a few of hours yesterday, but it's not easy, as
they are a lots of layers I don't know.

I'll continue my investigation today.

Reply via email to