Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 565011

Summary: [Passage] API revision | permission | rebuild the core of condition expression evaluation
Product: [Technology] Passage Reporter: Elena Parovyshnaia <elena.parovyshnaya>
Component: APIAssignee: Elena Parovyshnaia <elena.parovyshnaya>
Status: CLOSED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: 0.9.0   
Target Milestone: 1.0.0   
Hardware: All   
OS: All   
Whiteboard:
Bug Depends on:    
Bug Blocks: 564998    

Description Elena Parovyshnaia CLA 2020-07-07 06:05:37 EDT
During the work over 562012 task we faces lack of evaluation context and flexility: ony isolated segment (key:value pair) can ve evaluated without any knowledge about the surrounding expression. 
 
It's caused by current condition `expression` treatment: we expet it to be a sort of persisted map, each segment of which must be evaluated to TRUE in order to the whole expression is it be evaluated to TRUE. 

This appears not sufficient (see 562012  task).

This part must be redesigned. 

We need to have an expressions of complex types - it should cause `expression` string format change (involve some sort of `protocol` prefix), or the wholle LicensingCondition emf model alternation. New internal interfaces and services are to be designed here.
Comment 1 Elena Parovyshnaia CLA 2020-07-09 07:18:52 EDT
PR#1: https://github.com/eclipse-passage/passage/pull/294
   - interfaces for the flexible condition expression evaluation

PR#2: https://github.com/eclipse-passage/passage/pull/295
   - start implementing `condition.evaluation` services

PR#3: https://github.com/eclipse-passage/passage/pull/296
  - spread new services through main access cycle configuration

PR#4: https://github.com/eclipse-passage/passage/pull/297
  - diagnostic interfaces and utilities

PR#5 https://github.com/eclipse-passage/passage/pull/298
  - full implementation of `condition.evaluation` services

PR#6 https://github.com/eclipse-passage/passage/pull/299
  - tests part 1
Comment 2 Elena Parovyshnaia CLA 2020-07-09 13:47:17 EDT
PR#7: https://github.com/eclipse-passage/passage/pull/300
  - complete test set for condition evaluation
Comment 3 Elena Parovyshnaia CLA 2020-07-09 14:17:25 EDT
`lic.api` / `lic.internal.api.conditions.evaluation` 
   - interfaces and key units

`lic.api.tests` / `lic.api.tests.conditions.evaluation` 
    - interfaces contract tests

`lic.base` / `lic.internal.base.conditions.evaluation`
    - base implementation

`lic.base.tests` / `lic.internal.base.tests.conditions.evaluation`