stable

Clone or download

Read-only

Refactoring: Do not rely on instance_of operator

This is part of story #8859: TQL search on date & numeric fields We should not clutter the FormElement classes with method that are only valable for the Expert mode context. Building a FromWhere is not the responsibility of the field. Use the visitor pattern so that we enforce OCP. Change-Id: I82507266e88083119f600c98a803089992088dfd

Modified Files

Name
M plugins/tracker/include/Tracker/FormElement/Tracker_FormElement_Field_Float.class.php +0 −53 Go to diff View file
M plugins/tracker/include/Tracker/FormElement/Tracker_FormElement_Field_Integer.class.php +0 −54 Go to diff View file
M plugins/tracker/include/Tracker/FormElement/Tracker_FormElement_Field_Text.class.php +0 −49 Go to diff View file
A plugins/tracker/include/Tracker/Report/Query/Advanced/FromWhereBuilder.php +28 −0 Go to diff View file
A plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/Comparison.php +33 −0 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/EqualComparison.php +1 −1 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/Grammar/NotEqualComparison.php +1 −1 Go to diff View file
A plugins/tracker/include/Tracker/Report/Query/Advanced/InvalidFields/EqualComparisonVisitor.php +164 −0 Go to diff View file
A plugins/tracker/include/Tracker/Report/Query/Advanced/InvalidFields/FieldIsNotSupportedForComparisonException.php +26 −0 Go to diff View file
A plugins/tracker/include/Tracker/Report/Query/Advanced/InvalidFields/ICheckThatFieldIsAllowedForComparison.php +28 −0 Go to diff View file
A plugins/tracker/include/Tracker/Report/Query/Advanced/InvalidFields/NotEqualComparisonVisitor.php +164 −0 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/InvalidFieldsCollectorVisitor.php +34 −11 Go to diff View file
A plugins/tracker/include/Tracker/Report/Query/Advanced/QueryBuilder/EqualComparison/ForFloat.php +62 −0 Go to diff View file
A plugins/tracker/include/Tracker/Report/Query/Advanced/QueryBuilder/EqualComparison/ForInteger.php +62 −0 Go to diff View file
A plugins/tracker/include/Tracker/Report/Query/Advanced/QueryBuilder/EqualComparison/ForText.php +56 −0 Go to diff View file
A plugins/tracker/include/Tracker/Report/Query/Advanced/QueryBuilder/EqualComparisonVisitor.php +166 −0 Go to diff View file
A plugins/tracker/include/Tracker/Report/Query/Advanced/QueryBuilder/NotEqualComparison/ForFloat.php +63 −0 Go to diff View file
A plugins/tracker/include/Tracker/Report/Query/Advanced/QueryBuilder/NotEqualComparison/ForInteger.php +63 −0 Go to diff View file
A plugins/tracker/include/Tracker/Report/Query/Advanced/QueryBuilder/NotEqualComparison/ForText.php +63 −0 Go to diff View file
A plugins/tracker/include/Tracker/Report/Query/Advanced/QueryBuilder/NotEqualComparisonVisitor.php +166 −0 Go to diff View file
M plugins/tracker/include/Tracker/Report/Query/Advanced/QueryBuilderVisitor.php +38 −16 Go to diff View file
M plugins/tracker/include/Tracker/Report/Tracker_Report.class.php +12 −2 Go to diff View file
M plugins/tracker/include/autoload.php +16 −2 Go to diff View file
M plugins/tracker/tests/Tracker/Report/Query/Advanced/InvalidFieldsCollectorVisitorTest.php +3 −1 Go to diff View file
A plugins/tracker/tests/Tracker/Report/Query/Advanced/QueryBuilder/EqualExpectation/ForTextTest.php +56 −0 Go to diff View file
M plugins/tracker/tests/Tracker/Report/Query/Advanced/QueryBuilderTest.php +15 −22 Go to diff View file
M src/common/dao/CodendiDataAccess.class.php +1 −0 Go to diff View file