-
Notifications
You must be signed in to change notification settings - Fork 821
[13259] Content filter implementation #2521
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
* Refs 12986. Added DDSFilterFactory header. Signed-off-by: Miguel Company <[email protected]> * Refs 12986. Added DDSFilterFactory empty implementation. Signed-off-by: Miguel Company <[email protected]> * Refs 12986. Empty test skeleton. Signed-off-by: Miguel Company <[email protected]> * Refs 12986. Added test type. Signed-off-by: Miguel Company <[email protected]> * Refs 12986. Added test case execution infrastructure. Signed-off-by: Miguel Company <[email protected]> * Refs 12986. Register type objects. Signed-off-by: Miguel Company <[email protected]> * Refs 12986. Fix generated code. Signed-off-by: Miguel Company <[email protected]> * Refs 12986. Field access tests. Signed-off-by: Miguel Company <[email protected]> * Refs 12986. Use constants for return codes. Signed-off-by: Miguel Company <[email protected]> * Refs 12986. Type compatibility test for operator 'LIKE'. Signed-off-by: Miguel Company <[email protected]> * Refs 12986.Map fields into filter TYPEs. Signed-off-by: Miguel Company <[email protected]> * Refs 12986.Type compatibility matrix. Signed-off-by: Miguel Company <[email protected]> * Refs 12986. Use compatibility matrix for tests on LIKE. Signed-off-by: Miguel Company <[email protected]> * Refs 12986. Type compatibility test for comparison operators. Signed-off-by: Miguel Company <[email protected]> * Refs 13543. Fixing warnings. Signed-off-by: Miguel Company <[email protected]> * Refs 12986. Fix type compatibility matrix. Signed-off-by: Miguel Company <[email protected]> * Refs 12986. Add test for empty expression. Signed-off-by: Miguel Company <[email protected]> * Refs 12877. Added checks for operand OP operand. Signed-off-by: Miguel Company <[email protected]> * Refs 12986. INT is also compatible with enums. Signed-off-by: Miguel Company <[email protected]> * Refs 12986. Improve tests output. Signed-off-by: Miguel Company <[email protected]> * Refs 12986. Handle enum strings differently. Signed-off-by: Miguel Company <[email protected]>
* Refs 13570. Added PEGTL code. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Added grammar definitions. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Added DDSFilterValue classes. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Added DDSFilterCondition classes. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Added DDSFilterExpression classes. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Ensure build of new classes. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. New generic ObjectPool class. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Pool of DDSFilterExpression on DDSFilterFactory. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Add empty_expression_ on DDSFilterFactory. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Implementation of delete_content_filter. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Return DDSFilterEmptyExpression for empty filter_expression. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Adding parse tree generator. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Moved rearrange to implementation folder. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. New ParseNode class on parse tree. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. DDSFilterFactory using parse tree generator. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Extending DDSFilterValue. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Generating DDSFilterValue from literal values. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Avoid literal integers being considered float values. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Pass TypeObject to parser. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Extending DDSFilterField. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Rework on ParseNode. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Semantic checks on fieldname. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Parsing parameter values. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Move DDSFilterExpressionParser implementation into cpp file. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Extending DDSFilterExpression. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Empty implementation of DDSFilterParameter. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Generic converter method on DDSFilterFactory. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Basic processing structure. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Check type compatibility. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Added parse_literal_value to DDSFilterExpressionParser. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Use parse_literal_value on DDSFilterParameter::set_value. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Clear expression before returning it to pool. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Transform enumerated string values. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Uncrustify. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Move pegtl to thirdparty folder. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Fixing warnings on Mac. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Doxydoc on DDSFilterValue classes. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Doxydoc and refactor on condition classes. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Empty implementation of condition classes. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Doxydoc on DDSFilterExpression. Signed-off-by: Miguel Company <[email protected]> * Refs 13570. Doxydoc on DDSFilterExpressionParser and DDSFilterFactory. Signed-off-by: Miguel Company <[email protected]>
* Refs 13789. Move content filter creation to static free function. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Basic infrastructure for parametrized test. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Basic infrastructure for global values. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding parametrized test. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Generating tests for float_field. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Generalization of test input generation. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding struct_field.float_field. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding array_float_field. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding bounded_sequence_float_field. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding unbounded_sequence_float_field. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding negative sequence tests. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Refactor global data generation. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Infrastructure for data generation. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding more enumeration values. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Include what you use. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Use numeric_limits for extreme values. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding data for double fields. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Generalization of get_test_filtered_value_float_inputs. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding tests for double fields. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding data for signed integers. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding tests for signed integer fields. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding data for unsigned integers. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding tests for unsigned integer fields. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding data for enumerations. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding tests for enumeration fields. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding data for char fields. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding tests for char fields. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding data for string fields. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding tests for string fields. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding data for boolean fields. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Adding tests for boolean fields. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Added test_compound_not. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Added test_compound_and. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Added test_compound_or. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Added type_compatibility_match test. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Added value tests for like operator. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Added value tests for match operator. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Added value tests for type promotions. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Convert struct into class. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Rename template methods. Signed-off-by: Miguel Company <[email protected]> * Refs 13789. Avoid code duplication. Signed-off-by: Miguel Company <[email protected]>
* Refs 13763. Delete filter on compound tests. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Assign results vector instead of in-place construct. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Correctly initialize long double values on tests. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Cleanup void casts. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Check for nullptr on delete_content_filter. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Call delete_content_filter before assigning new instance. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Implement between operators. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Keep tree hierarchy. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Implement reset methods. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Implement DDSFilterCompoundCondition. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Implement DDSFilterExpression::evaluate. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Empty implementation of DDSFilterValue comparison operators. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Implement DDSFilterPredicate::value_has_changed. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Fix parsing of NOT expressions. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. DDSFilterFactory creates DDSFilterPredicate objects. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. DDSFilterFactory creates DDSFilterCompoundCondition objects. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Implementation of DDSFilterValue::compare. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Adding DDSFilterValue::copy_from. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Adding MATCH operator. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Implementing matching operators. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Consider parameters only update on DDSFilterFactory::create_content_filter. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Adding dynamic type to DDSFilterExpression. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Perform parsing using DynamicData. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Passing DynamicData to DDSFilterField::set_value. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Reusing the same DynamicData. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Using DynamicDataFactory. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Direct members deserialization. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Direct array members deserialization. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Nested members deserialization. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Uncrustify. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Fixed warning. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Don't assign ReturnCode from bool. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Use float math on comparisons. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Fix grammar for float values. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Fix comparison of integer values. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Compare method returns int. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Fix deserialization of enums. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Fix parsing of FALSE. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Improve float comparison precission. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Removed code for not allowed promotions. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Alphasort on includes. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Removed unnecessary argument. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Reorder ValueKind constants. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Removed effective_kind method. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Add explanation about type promotion assertions. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Fixed return_loaned_value call on indexed access. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Using MEMBER_ID_INVALID. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Using reinterpret_cast. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Include what you use. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Explicitly indicate that two FLOAT_CONST cannot be compared. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Moving code to cpp files. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Renaming structs into classes. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Improving documentation of DDSFilterValue. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Test for parameters update. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Correctly keeping state when wrongly updating params. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Adding struct sequences tests. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Adding struct arrays tests. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Struct sequences data infrastructure. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Refactor char values. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Refactor integer values. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Refactor floating point values. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Refactor boolean values. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Refactor string values. Signed-off-by: Miguel Company <[email protected]> * Refs 13763. Refactor enumerated values. Signed-off-by: Miguel Company <[email protected]>
* Refs 13790. Add typeobject generator code for HelloWorld type. Signed-off-by: Miguel Company <[email protected]> * Refs 13790. Basic test infrastructure. Signed-off-by: Miguel Company <[email protected]> * Refs 13790. Register type object. Signed-off-by: Miguel Company <[email protected]> * Refs 13790. Adding tests. Signed-off-by: Miguel Company <[email protected]> * Refs 13772. Fix #2450 by explicitly specifying unique_ptr. Signed-off-by: Miguel Company <[email protected]> * Refs 13772. Use DDSFilterFactory on DomainParticipantImpl. Signed-off-by: Miguel Company <[email protected]> * Refs 13772. Implement update methods on ContentFilteredTopic. Signed-off-by: Miguel Company <[email protected]> * Refs 13772. Document IContentFilterFactory. Signed-off-by: Miguel Company <[email protected]> * Refs 13772. Document IContentFilter. Signed-off-by: Miguel Company <[email protected]> * Refs 13772. Manually set expression and parameters on ContentFilteredTopic creation. Signed-off-by: Miguel Company <[email protected]> * Refs 13790. Include order. Signed-off-by: Miguel Company <[email protected]> * Refs 13772. Doxydoc return value. Signed-off-by: Miguel Company <[email protected]> * Refs 13772. Keep ABI on ContentFilter constructor. Signed-off-by: Miguel Company <[email protected]>
Signed-off-by: Miguel Company <[email protected]>
Signed-off-by: Miguel Company <[email protected]>
Signed-off-by: Miguel Company <[email protected]>
@fujitatomoya @iuhilnehc-ynos FYI. This is the final PR to bring content filter into the master branch. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM with green CI
Signed-off-by: Miguel Company <[email protected]>
@richiprosima Please test mac |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
This PR adds reader-side content-filter implementation.
Co-Authored-By: Tomoya Fujita [email protected]