Major
Nice to have
Bugfix
Major
Enhancement
(User-visible)
Currently, option providers must always be cast in code. It would be nice to be able to specify the option providers and constraints directly in the administration, at least for the straight failures.
Usage
#!xml <config service-class="com.top_logic.element.meta.kbbased.filtergen.FilterFactory"> <instance> <filters> <filter name="IsAssignable"> <filter-by-expression predicate="self -> value -> $value.get(`DemoTypes:DemoTypes.C.All#isAssignable`)"/> </filter> </filters> </instance> </config>
Or rather:
#!xml <config service-class="com.top_logic.element.meta.kbbased.filtergen.GeneratorFactory"> <instance> <generators> <generator name="Siblings"> <options-by-expression function="self -> $self.get(`tl.element:StructuredElement#parent`).get(`tl.element:StructuredElementContainer#children`).filter(s -> $s != $self)" /> </generator> </generators> </instance> </config>
Code migration
Conversion of GeneratorFactory configuration to become consistent with FilterFactory configuration:
#!patch ### Eclipse Workspace Patch 1.0 #P com.top_logic.project.pos Index: webapp/WEB-INF/conf/projectPosConf.config.xml =================================================================== --- webapp/WEB-INF/conf/projectPosConf.config.xml (revision 257558) +++ webapp/WEB-INF/conf/projectPosConf.config.xml (working copy) @@ -398.8 +398.8 @@ <config service-class="com.top_logic.element.meta.kbbased.filtergen.GeneratorFactory"> <instance class="com.top_logic.element.meta.kbbased.filtergen.GeneratorFactory"> <generators> - <generator name="TemplateMilestoneGenerator" generator="com.top_logic.project.pos.template.project.template.TemplateMilestoneGenerator" /> - <generator name="MSMilestoneGenerator" generator="com.top_logic.milestone.layout.MilestoneGenerator"/> + <generator name="TemplateMilestoneGenerator" impl="com.top_logic.project.pos.template.project.template.TemplateMilestoneGenerator" /> + <generator name="MSMilestoneGenerator" impl="com.top_logic.milestone.layout.MilestoneGenerator"/> </generators> </instance> </config>
Test
- tl-demo: "Siblings" options and "IsAssignable" filter.