Raised https://issues.apache.org/jira/browse/ISIS-1759 for this

On Sun, 1 Oct 2017 at 19:52 Dan Haywood <d...@haywood-associates.co.uk>
wrote:

> Hi Erik,
> I'll look into this... This doesn't sound right that this version is
> creating these extra calls into the domain code.
> Thx,
> Dan
>
> On Wed, 27 Sep 2017, 11:35 Erik de Hair, <e.deh...@pocos.nl> wrote:
>
>> Hi,
>>
>> I'm not really sure about this but it feels like our app's performance
>> (Apache Isis 1.15.0) is worse than before and I believe it might be
>> because of the fact that the getter and hide method of a property are
>> called both, despite the fact that the property is hidden.
>>
>> We have a (derived) property (or referenced property) defined like this:
>>
>> public String getX(){
>>      return someService.createX(getY(), getZ()); // We don't want this
>> method to be called always, because it's an expensive one
>> }
>> public boolean hideX(){
>>      boolean condition = ... // some condition
>>      return condition;
>> }
>>
>> In 1.14.0 getX() wouldn't be called if the hideX()-method returned true
>> and so wouldn't the expensive service-method be called. For 1.15.0 we
>> would have to change the implementation to something like the following
>> to make sure the expensive call wouldn't be executed:
>>
>> public String getX(){
>>      if(!hideConditionsForX){
>>          return someService.createX(getY(), getZ());
>>      }
>>      return null;
>> }
>> public boolean hideX(){
>>      return hideConditionsForX();
>> }
>> private boolean hideConditionsForX(){
>>      // ... must probably be implemented using QueryResultsCache to
>> reduce DB-calls
>> }
>>
>> This is also the case for referenced properties for which no DB-query
>> has to be executed if it was hidden. This could count up if we have a
>> lot of hidden properties (this might be solved with refactoring).
>>
>> Am I seeing this correctly?
>>
>> Erik
>>
>>
>>

Reply via email to