diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/data/column/ColumnTypeDto.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/data/column/ColumnTypeDto.java index fdb7814d808..da4a201cda5 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/data/column/ColumnTypeDto.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/data/column/ColumnTypeDto.java @@ -17,6 +17,7 @@ public class ColumnTypeDto implements Serializable{ private String sortableColumn; private boolean sortable = false; private boolean multivalue = false; + private boolean translated = false; public ColumnTypeDto(String columnName, String columnValue, String sortableColumn) { super(); @@ -26,11 +27,16 @@ public ColumnTypeDto(String columnName, String columnValue, String sortableColum } public ColumnTypeDto(String columnName, String sortableColumn, String columnValue, boolean multivalue) { + this(columnName, sortableColumn, columnValue, multivalue, false); + } + + public ColumnTypeDto(String columnName, String sortableColumn, String columnValue, boolean multivalue, boolean translated) { super(); this.columnName = columnName; this.columnValue = columnValue; this.sortableColumn = sortableColumn; this.multivalue = multivalue; + this.translated = translated; } public String getColumnName() { @@ -59,6 +65,14 @@ public void setMultivalue(boolean multivalue) { this.multivalue = multivalue; } + public boolean isTranslated() { + return translated; + } + + public void setTranslated(boolean translated) { + this.translated = translated; + } + public boolean isSortable() { return sortableColumn != null; } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/data/column/ColumnUtils.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/data/column/ColumnUtils.java index 2a19f799aea..cadb9d219ec 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/data/column/ColumnUtils.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/component/data/column/ColumnUtils.java @@ -60,11 +60,16 @@ public static List> createColumns(List tableColumn = null; if (column.isSortable()) { tableColumn = createPropertyColumn(column.getColumnName(), column.getSortableColumn(), - column.getColumnValue(), column.isMultivalue()); + column.getColumnValue(), column.isMultivalue(), column.isTranslated()); } else { - tableColumn = new PropertyColumn<>(createStringResource(column.getColumnName()), - column.getColumnValue()); + if (column.isTranslated()) { + tableColumn = new PolyStringPropertyColumn<>(createStringResource(column.getColumnName()), + column.getColumnValue()); + } else { + tableColumn = new PropertyColumn<>(createStringResource(column.getColumnName()), + column.getColumnValue()); + } } tableColumns.add(tableColumn); @@ -73,8 +78,11 @@ public static List> createColumns(List PropertyColumn createPropertyColumn(String name, String sortableProperty, - final String expression, final boolean multivalue) { - + final String expression, final boolean multivalue, boolean translated) { + if (!multivalue && translated){ + return new PolyStringPropertyColumn(createStringResource(name), sortableProperty, + expression); + } return new PropertyColumn(createStringResource(name), sortableProperty, expression) { private static final long serialVersionUID = 1L; @@ -256,11 +264,11 @@ public static List, String>> ge List> columnsDefs = Arrays.asList( new ColumnTypeDto("UserType.givenName", UserType.F_GIVEN_NAME.getLocalPart(), - SelectableBean.F_VALUE + ".givenName.orig", false), + SelectableBean.F_VALUE + ".givenName.orig", false, true), new ColumnTypeDto("UserType.familyName", UserType.F_FAMILY_NAME.getLocalPart(), - SelectableBean.F_VALUE + ".familyName.orig", false), + SelectableBean.F_VALUE + ".familyName.orig", false, true), new ColumnTypeDto("UserType.fullName", UserType.F_FULL_NAME.getLocalPart(), - SelectableBean.F_VALUE + ".fullName.orig", false), + SelectableBean.F_VALUE + ".fullName.orig", false, true), new ColumnTypeDto("UserType.emailAddress", UserType.F_EMAIL_ADDRESS.getLocalPart(), SelectableBean.F_VALUE + ".emailAddress", false) @@ -390,7 +398,7 @@ public static List, Strin List> columnsDefs = Arrays.asList( new ColumnTypeDto("AbstractRoleType.displayName", sortByDisplayName, - SelectableBean.F_VALUE + ".displayName", false), + SelectableBean.F_VALUE + ".displayName", false, true), new ColumnTypeDto("AbstractRoleType.description", null, SelectableBean.F_VALUE + ".description", false),