From 6f168e4467c133b80b1388c39d5c7a35d4c7c5cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Alejandro=20Tard=C3=ADn?= Date: Mon, 22 Jul 2024 09:52:40 +0200 Subject: [PATCH] LPD-31818 I misunderstood the odata spec --- .../predicate/provider/FieldPredicateProvider.java | 2 +- .../expression/PredicateExpressionVisitorImpl.java | 2 +- .../provider/KeywordsFieldPredicateProvider.java | 4 ++-- .../MultiselectPicklistFieldPredicateProvider.java | 4 ++-- .../TaxonomyCategoryIdsFieldPredicateProvider.java | 4 ++-- .../resource/v1_0/test/ObjectEntryResourceTest.java | 12 ++++++------ 6 files changed, 14 insertions(+), 14 deletions(-) diff --git a/modules/apps/object/object-api/src/main/java/com/liferay/object/odata/filter/expression/field/predicate/provider/FieldPredicateProvider.java b/modules/apps/object/object-api/src/main/java/com/liferay/object/odata/filter/expression/field/predicate/provider/FieldPredicateProvider.java index 60fed718655ef3..75d3e86b7a29ce 100644 --- a/modules/apps/object/object-api/src/main/java/com/liferay/object/odata/filter/expression/field/predicate/provider/FieldPredicateProvider.java +++ b/modules/apps/object/object-api/src/main/java/com/liferay/object/odata/filter/expression/field/predicate/provider/FieldPredicateProvider.java @@ -33,7 +33,7 @@ public Predicate getInPredicate( Function> objectDefinitionColumnSupplier, Object left, List rights); - public Predicate getIsEmptyPredicate( + public Predicate getIsNotEmptyPredicate( String fieldName, Function> objectDefinitionColumnSupplier); diff --git a/modules/apps/object/object-rest-impl/src/main/java/com/liferay/object/rest/internal/odata/filter/expression/PredicateExpressionVisitorImpl.java b/modules/apps/object/object-rest-impl/src/main/java/com/liferay/object/rest/internal/odata/filter/expression/PredicateExpressionVisitorImpl.java index d2097041be81ac..97f45638b17331 100644 --- a/modules/apps/object/object-rest-impl/src/main/java/com/liferay/object/rest/internal/odata/filter/expression/PredicateExpressionVisitorImpl.java +++ b/modules/apps/object/object-rest-impl/src/main/java/com/liferay/object/rest/internal/odata/filter/expression/PredicateExpressionVisitorImpl.java @@ -809,7 +809,7 @@ private Predicate _visitCollectionPropertyExpression( _getFieldPredicateProvider( collectionPropertyExpression.getName(), objectDefinition); - return fieldPredicateProvider.getIsEmptyPredicate( + return fieldPredicateProvider.getIsNotEmptyPredicate( collectionPropertyExpression.getName(), name -> _getColumn(name, objectDefinition)); } diff --git a/modules/apps/object/object-rest-impl/src/main/java/com/liferay/object/rest/internal/odata/filter/expression/field/predicate/provider/KeywordsFieldPredicateProvider.java b/modules/apps/object/object-rest-impl/src/main/java/com/liferay/object/rest/internal/odata/filter/expression/field/predicate/provider/KeywordsFieldPredicateProvider.java index cb603a628e5e75..8af59e6a9ca7b1 100644 --- a/modules/apps/object/object-rest-impl/src/main/java/com/liferay/object/rest/internal/odata/filter/expression/field/predicate/provider/KeywordsFieldPredicateProvider.java +++ b/modules/apps/object/object-rest-impl/src/main/java/com/liferay/object/rest/internal/odata/filter/expression/field/predicate/provider/KeywordsFieldPredicateProvider.java @@ -80,13 +80,13 @@ public Predicate getInPredicate( } @Override - public Predicate getIsEmptyPredicate( + public Predicate getIsNotEmptyPredicate( String fieldName, Function> objectDefinitionColumnSupplier) { Column column = objectDefinitionColumnSupplier.apply("id"); - return column.notIn( + return column.in( DSLQueryFactoryUtil.select( AssetEntryTable.INSTANCE.classPK ).from( diff --git a/modules/apps/object/object-rest-impl/src/main/java/com/liferay/object/rest/internal/odata/filter/expression/field/predicate/provider/MultiselectPicklistFieldPredicateProvider.java b/modules/apps/object/object-rest-impl/src/main/java/com/liferay/object/rest/internal/odata/filter/expression/field/predicate/provider/MultiselectPicklistFieldPredicateProvider.java index 424e62c145fc9e..62bcb45cba8a5d 100644 --- a/modules/apps/object/object-rest-impl/src/main/java/com/liferay/object/rest/internal/odata/filter/expression/field/predicate/provider/MultiselectPicklistFieldPredicateProvider.java +++ b/modules/apps/object/object-rest-impl/src/main/java/com/liferay/object/rest/internal/odata/filter/expression/field/predicate/provider/MultiselectPicklistFieldPredicateProvider.java @@ -103,13 +103,13 @@ public Predicate getInPredicate( } @Override - public Predicate getIsEmptyPredicate( + public Predicate getIsNotEmptyPredicate( String fieldName, Function> objectDefinitionColumnSupplier) { return objectDefinitionColumnSupplier.apply( fieldName - ).isNull(); + ).isNotNull(); } @Override diff --git a/modules/apps/object/object-rest-impl/src/main/java/com/liferay/object/rest/internal/odata/filter/expression/field/predicate/provider/TaxonomyCategoryIdsFieldPredicateProvider.java b/modules/apps/object/object-rest-impl/src/main/java/com/liferay/object/rest/internal/odata/filter/expression/field/predicate/provider/TaxonomyCategoryIdsFieldPredicateProvider.java index 2c1efc98e086b4..0d8607b1c3403f 100644 --- a/modules/apps/object/object-rest-impl/src/main/java/com/liferay/object/rest/internal/odata/filter/expression/field/predicate/provider/TaxonomyCategoryIdsFieldPredicateProvider.java +++ b/modules/apps/object/object-rest-impl/src/main/java/com/liferay/object/rest/internal/odata/filter/expression/field/predicate/provider/TaxonomyCategoryIdsFieldPredicateProvider.java @@ -67,13 +67,13 @@ public Predicate getInPredicate( } @Override - public Predicate getIsEmptyPredicate( + public Predicate getIsNotEmptyPredicate( String fieldName, Function> objectDefinitionColumnSupplier) { Column column = objectDefinitionColumnSupplier.apply("id"); - return column.notIn( + return column.in( DSLQueryFactoryUtil.select( AssetEntryTable.INSTANCE.classPK ).from( diff --git a/modules/apps/object/object-rest-test/src/testIntegration/java/com/liferay/object/rest/internal/resource/v1_0/test/ObjectEntryResourceTest.java b/modules/apps/object/object-rest-test/src/testIntegration/java/com/liferay/object/rest/internal/resource/v1_0/test/ObjectEntryResourceTest.java index f7a7b509cba278..51232fe683d7b6 100644 --- a/modules/apps/object/object-rest-test/src/testIntegration/java/com/liferay/object/rest/internal/resource/v1_0/test/ObjectEntryResourceTest.java +++ b/modules/apps/object/object-rest-test/src/testIntegration/java/com/liferay/object/rest/internal/resource/v1_0/test/ObjectEntryResourceTest.java @@ -5148,8 +5148,8 @@ public void testGetObjectEntryFilteredByKeywords() throws Exception { _postObjectEntryWithKeywords("tag1", "tag2"); _postObjectEntryWithKeywords("tag1", "tag2", "tag3"); - _assertFilteredObjectEntries(1, "keywords/any()"); - _assertFilteredObjectEntries(4, "not keywords/any()"); + _assertFilteredObjectEntries(4, "keywords/any()"); + _assertFilteredObjectEntries(1, "not keywords/any()"); _assertFilteredObjectEntries(4, "keywords/any(k:k eq 'tag1')"); _assertFilteredObjectEntries(4, "keywords/any(k:k eq 'TAG1')"); @@ -5245,10 +5245,10 @@ public void testGetObjectEntryFilteredByMultiselectPicklistObjectField() _TAG_1); _assertFilteredObjectEntries( - 1, + 3, String.format("%s/any()", _OBJECT_FIELD_NAME_MULTISELECT_PICKLIST)); _assertFilteredObjectEntries( - 3, + 1, String.format( "not %s/any()", _OBJECT_FIELD_NAME_MULTISELECT_PICKLIST)); _assertFilteredObjectEntries( @@ -5407,8 +5407,8 @@ public void testGetObjectEntryFilteredByTaxonomyCategories() _postObjectEntryWithTaxonomyCategories( taxonomyCategory1, taxonomyCategory2, taxonomyCategory3); - _assertFilteredObjectEntries(1, "taxonomyCategoryIds/any()"); - _assertFilteredObjectEntries(3, "not taxonomyCategoryIds/any()"); + _assertFilteredObjectEntries(3, "taxonomyCategoryIds/any()"); + _assertFilteredObjectEntries(1, "not taxonomyCategoryIds/any()"); _assertFilteredObjectEntries( 3, String.format(