-
Notifications
You must be signed in to change notification settings - Fork 57
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
[4352] Add support to range column filters in table #4353
base: master
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,58 @@ | ||
/******************************************************************************* | ||
* Copyright (c) 2024 CEA LIST. | ||
* This program and the accompanying materials | ||
* are made available under the terms of the Eclipse Public License v2.0 | ||
* which accompanies this distribution, and is available at | ||
* https://www.eclipse.org/legal/epl-2.0/ | ||
* | ||
* SPDX-License-Identifier: EPL-2.0 | ||
* | ||
* Contributors: | ||
* Obeo - initial API and implementation | ||
*******************************************************************************/ | ||
package org.eclipse.sirius.components.core; | ||
|
||
import static org.assertj.core.api.Assertions.assertThat; | ||
|
||
import java.util.List; | ||
|
||
import org.junit.jupiter.api.Test; | ||
|
||
/** | ||
* Tests of the URLParser. | ||
* | ||
* @author frouene | ||
*/ | ||
public class URLParserTests { | ||
|
||
@Test | ||
public void testGetParameterEntriesWithNestedLists() { | ||
URLParser parser = new URLParser(); | ||
String value = "[467ec1c3-8ba7-32dc-9d72-71a2ccad161b:[\"1\",\"\"],4752c1c3-8ba7-32dc-9d72-71a2ccad161b:[\"1\",\"2\"]]"; | ||
List<String> expected = List.of( | ||
"467ec1c3-8ba7-32dc-9d72-71a2ccad161b:[\"1\",\"\"]", | ||
"4752c1c3-8ba7-32dc-9d72-71a2ccad161b:[\"1\",\"2\"]" | ||
); | ||
List<String> result = parser.getParameterEntries(value); | ||
assertThat(expected).isEqualTo(result); | ||
} | ||
|
||
@Test | ||
public void testGetParameterEntriesWithEmptyList() { | ||
URLParser parser = new URLParser(); | ||
String value = "[]"; | ||
List<String> expected = List.of(); | ||
List<String> result = parser.getParameterEntries(value); | ||
assertThat(expected).isEqualTo(result); | ||
} | ||
|
||
@Test | ||
public void testGetParameterEntriesWithSingleElement() { | ||
URLParser parser = new URLParser(); | ||
String value = "[467ec1c3-8ba7-32dc-9d72-71a2ccad161b:[\"1\",\"\"]]"; | ||
List<String> expected = List.of("467ec1c3-8ba7-32dc-9d72-71a2ccad161b:[\"1\",\"\"]"); | ||
List<String> result = parser.getParameterEntries(value); | ||
assertThat(expected).isEqualTo(result); | ||
} | ||
|
||
} |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -56,6 +56,10 @@ | |
<version>2025.1.0</version> | ||
<scope>test</scope> | ||
</dependency> | ||
<dependency> | ||
<groupId>com.fasterxml.jackson.core</groupId> | ||
<artifactId>jackson-databind</artifactId> | ||
</dependency> | ||
Comment on lines
+59
to
+62
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I have not reviewed the whole PR but a change to a pom.xml is always something important so I've only looked at this file.
|
||
</dependencies> | ||
|
||
<build> | ||
|
@@ -113,4 +117,4 @@ | |
</plugin> | ||
</plugins> | ||
</build> | ||
</project> | ||
</project> |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
/******************************************************************************* | ||
* Copyright (c) 2024 CEA LIST. | ||
* This program and the accompanying materials | ||
* are made available under the terms of the Eclipse Public License v2.0 | ||
* which accompanies this distribution, and is available at | ||
* https://www.eclipse.org/legal/epl-2.0/ | ||
* | ||
* SPDX-License-Identifier: EPL-2.0 | ||
* | ||
* Contributors: | ||
* Obeo - initial API and implementation | ||
*******************************************************************************/ | ||
package org.eclipse.sirius.components.tables; | ||
|
||
import java.util.List; | ||
import java.util.Objects; | ||
|
||
/** | ||
* Data representing the filter of a column with column mapped to the targetObjectId. | ||
* | ||
* @author frouene | ||
*/ | ||
public record ColumnFilterMapped(String id, List<String> values) { | ||
|
||
public ColumnFilterMapped { | ||
Objects.requireNonNull(id); | ||
Objects.requireNonNull(values); | ||
} | ||
} |
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.
Could you explain me what this change of behavior supposed to do? It's a bit complex to understand just from a Quick Look at the code, what is the difference in the old vs new behavior?
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.
Since the filter values of a column can be a list, we end up with uri of this type
[467ec1c3-8ba7-32dc-9d72-71a2ccad161b:["0","1"],4752c1c3-8ba7-32dc-9d72-71a2ccad161b:["1","2"]]
The previous implementation of
getParameterEntries
split each,
whiche end up giving something like467ec1c3-8ba7-32dc-9d72-71a2ccad161b:["0"
,"1"]
...In the new approach, I consider the level of
[
to only split the first list.