From 98dd8f78603439f0da752079a9266056851d8869 Mon Sep 17 00:00:00 2001 From: Martin Lizner Date: Fri, 2 Oct 2015 20:02:21 +0200 Subject: [PATCH] Reports - support for parameter properties & autocomplete --- config/initial-objects/090-report-audit.xml | 2 +- .../100-report-reconciliation.xml | 2 +- .../initial-objects/110-report-user-list.xml | 2 +- .../JasperReportConfigurationPanel.java | 17 +- .../component/RunReportPopupPanel.java | 235 ++++++++++-------- .../admin/reports/dto/JasperReportDto.java | 2 +- .../reports/dto/JasperReportParameterDto.java | 23 +- .../initial-objects/090-report-audit.xml | 2 +- .../100-report-reconciliation.xml | 2 +- .../initial-objects/110-report-user-list.xml | 2 +- .../localization/Midpoint.properties | 6 +- .../midpoint/report/impl/ReportUtils.java | 4 +- 12 files changed, 167 insertions(+), 132 deletions(-) diff --git a/config/initial-objects/090-report-audit.xml b/config/initial-objects/090-report-audit.xml index 31bf0f1b2b8..0273400bd39 100644 --- a/config/initial-objects/090-report-audit.xml +++ b/config/initial-objects/090-report-audit.xml @@ -24,7 +24,7 @@ Audit logs report Report made from audit records. true - + UEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWo4K0RRbzhJVVJQUTFSWlVFVWdhbUZ6Y0dWeVZHVnRjR3hoZEdVTkNpQWdVRlZDVEVsRElDSXRMeTlLWVhOd1pYSlNaWEJ2Y25Sekx5OUVWRVFnVkdWdGNHeGhkR1V2TDBWT0lnMEtJQ0FpYUhSMGNEb3ZMMnBoYzNCbGNuSmxjRzl5ZEhNdWMyOTFjbU5sWm05eVoyVXVibVYwTDJSMFpITXZhbUZ6Y0dWeWRHVnRjR3hoZEdVdVpIUmtJajROQ2p4cVlYTndaWEpVWlcxd2JHRjBaVDROQ2lBZ0lDQWdJQ0FnQ1R4emRIbHNaU0JtYjI1MFRtRnRaVDBpUkdWcVlWWjFJRk5oYm5NaUlHWnZiblJUYVhwbFBTSXhNQ0lnYUVGc2FXZHVQU0pNWldaMElpQnBjMFJsWm1GMWJIUTlJblJ5ZFdVaUlHbHpVR1JtUlcxaVpXUmtaV1E5SW5SeWRXVWlJQTBLQ1FrSkNTQWdJRzVoYldVOUlrSmhjMlVpSUhCa1prVnVZMjlrYVc1blBTSkpaR1Z1ZEdsMGVTMUlJaUJ3WkdaR2IyNTBUbUZ0WlQwaVJHVnFZVloxVTJGdWN5NTBkR1lpSUhaQmJHbG5iajBpVFdsa1pHeGxJajROQ2drSkNUd3ZjM1I1YkdVK0RRb0pDUWs4YzNSNWJHVWdZbUZqYTJOdmJHOXlQU0lqTWpZM09UazBJaUJtYjI1MFUybDZaVDBpTWpZaUlHWnZjbVZqYjJ4dmNqMGlJMFpHUmtaR1JpSWdhWE5FWldaaGRXeDBQU0ptWVd4elpTSU5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J0YjJSbFBTSlBjR0Z4ZFdVaUlHNWhiV1U5SWxScGRHeGxJaUJ6ZEhsc1pUMGlRbUZ6WlNJdlBpQU5DZ2tKQ1R4emRIbHNaU0JtYjI1MFUybDZaVDBpTVRJaUlHWnZjbVZqYjJ4dmNqMGlJekF3TURBd01DSWdhWE5FWldaaGRXeDBQU0ptWVd4elpTSWdibUZ0WlQwaVVHRm5aU0JvWldGa1pYSWlEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNSNWJHVTlJa0poYzJVaUx6NE5DZ2tKQ1R4emRIbHNaU0JpWVdOclkyOXNiM0k5SWlNek16TXpNek1pSUdadmJuUlRhWHBsUFNJeE1pSWdabTl5WldOdmJHOXlQU0lqUmtaR1JrWkdJaUJvUVd4cFoyNDlJa05sYm5SbGNpSU5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwYzBSbFptRjFiSFE5SW1aaGJITmxJaUJ0YjJSbFBTSlBjR0Z4ZFdVaUlHNWhiV1U5SWtOdmJIVnRiaUJvWldGa1pYSWlJSE4wZVd4bFBTSkNZWE5sSWk4K0RRb0pDUWs4YzNSNWJHVWdhWE5DYjJ4a1BTSm1ZV3h6WlNJZ2FYTkVaV1poZFd4MFBTSm1ZV3h6WlNJZ2JtRnRaVDBpUkdWMFlXbHNJaUJ6ZEhsc1pUMGlRbUZ6WlNJdlBnMEtJQ0FnSUNBZ0lDQWdJQ0FnUEhOMGVXeGxJR2x6UW05c1pEMGlabUZzYzJVaUlHbHpSR1ZtWVhWc2REMGlabUZzYzJVaUlHNWhiV1U5SWtOdlpHVWlJSE4wZVd4bFBTSkNZWE5sSWlCbWIyNTBVMmw2WlQwaU9TSXZQZzBLQ1FrSlBITjBlV3hsSUdadmJuUlRhWHBsUFNJNUlpQm1iM0psWTI5c2IzSTlJaU13TURBd01EQWlJR2x6UkdWbVlYVnNkRDBpWm1Gc2MyVWlJRzVoYldVOUlsQmhaMlVnWm05dmRHVnlJZzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOMGVXeGxQU0pDWVhObElpOCtEUW9KQ1R3dmFtRnpjR1Z5VkdWdGNHeGhkR1Ur html \ No newline at end of file diff --git a/config/initial-objects/100-report-reconciliation.xml b/config/initial-objects/100-report-reconciliation.xml index 7ed4b873baf..b4a97b8e88d 100644 --- a/config/initial-objects/100-report-reconciliation.xml +++ b/config/initial-objects/100-report-reconciliation.xml @@ -24,7 +24,7 @@ Reconciliation report Reconciliation report for selected resource. true - + UEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWo4K0RRbzhJVVJQUTFSWlVFVWdhbUZ6Y0dWeVZHVnRjR3hoZEdVTkNpQWdVRlZDVEVsRElDSXRMeTlLWVhOd1pYSlNaWEJ2Y25Sekx5OUVWRVFnVkdWdGNHeGhkR1V2TDBWT0lnMEtJQ0FpYUhSMGNEb3ZMMnBoYzNCbGNuSmxjRzl5ZEhNdWMyOTFjbU5sWm05eVoyVXVibVYwTDJSMFpITXZhbUZ6Y0dWeWRHVnRjR3hoZEdVdVpIUmtJajROQ2p4cVlYTndaWEpVWlcxd2JHRjBaVDROQ2lBZ0lDQWdJQ0FnQ1R4emRIbHNaU0JtYjI1MFRtRnRaVDBpUkdWcVlWWjFJRk5oYm5NaUlHWnZiblJUYVhwbFBTSXhNQ0lnYUVGc2FXZHVQU0pNWldaMElpQnBjMFJsWm1GMWJIUTlJblJ5ZFdVaUlHbHpVR1JtUlcxaVpXUmtaV1E5SW5SeWRXVWlJQTBLQ1FrSkNTQWdJRzVoYldVOUlrSmhjMlVpSUhCa1prVnVZMjlrYVc1blBTSkpaR1Z1ZEdsMGVTMUlJaUJ3WkdaR2IyNTBUbUZ0WlQwaVJHVnFZVloxVTJGdWN5NTBkR1lpSUhaQmJHbG5iajBpVFdsa1pHeGxJajROQ2drSkNUd3ZjM1I1YkdVK0RRb0pDUWs4YzNSNWJHVWdZbUZqYTJOdmJHOXlQU0lqTWpZM09UazBJaUJtYjI1MFUybDZaVDBpTWpZaUlHWnZjbVZqYjJ4dmNqMGlJMFpHUmtaR1JpSWdhWE5FWldaaGRXeDBQU0ptWVd4elpTSU5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J0YjJSbFBTSlBjR0Z4ZFdVaUlHNWhiV1U5SWxScGRHeGxJaUJ6ZEhsc1pUMGlRbUZ6WlNJdlBpQU5DZ2tKQ1R4emRIbHNaU0JtYjI1MFUybDZaVDBpTVRJaUlHWnZjbVZqYjJ4dmNqMGlJekF3TURBd01DSWdhWE5FWldaaGRXeDBQU0ptWVd4elpTSWdibUZ0WlQwaVVHRm5aU0JvWldGa1pYSWlEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNSNWJHVTlJa0poYzJVaUx6NE5DZ2tKQ1R4emRIbHNaU0JpWVdOclkyOXNiM0k5SWlNek16TXpNek1pSUdadmJuUlRhWHBsUFNJeE1pSWdabTl5WldOdmJHOXlQU0lqUmtaR1JrWkdJaUJvUVd4cFoyNDlJa05sYm5SbGNpSU5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwYzBSbFptRjFiSFE5SW1aaGJITmxJaUJ0YjJSbFBTSlBjR0Z4ZFdVaUlHNWhiV1U5SWtOdmJIVnRiaUJvWldGa1pYSWlJSE4wZVd4bFBTSkNZWE5sSWk4K0RRb0pDUWs4YzNSNWJHVWdhWE5DYjJ4a1BTSm1ZV3h6WlNJZ2FYTkVaV1poZFd4MFBTSm1ZV3h6WlNJZ2JtRnRaVDBpUkdWMFlXbHNJaUJ6ZEhsc1pUMGlRbUZ6WlNJdlBnMEtJQ0FnSUNBZ0lDQWdJQ0FnUEhOMGVXeGxJR2x6UW05c1pEMGlabUZzYzJVaUlHbHpSR1ZtWVhWc2REMGlabUZzYzJVaUlHNWhiV1U5SWtOdlpHVWlJSE4wZVd4bFBTSkNZWE5sSWlCbWIyNTBVMmw2WlQwaU9TSXZQZzBLQ1FrSlBITjBlV3hsSUdadmJuUlRhWHBsUFNJNUlpQm1iM0psWTI5c2IzSTlJaU13TURBd01EQWlJR2x6UkdWbVlYVnNkRDBpWm1Gc2MyVWlJRzVoYldVOUlsQmhaMlVnWm05dmRHVnlJZzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOMGVXeGxQU0pDWVhObElpOCtEUW9KQ1R3dmFtRnpjR1Z5VkdWdGNHeGhkR1Ur html \ No newline at end of file diff --git a/config/initial-objects/110-report-user-list.xml b/config/initial-objects/110-report-user-list.xml index 7585edeec8d..0676f26fcdb 100644 --- a/config/initial-objects/110-report-user-list.xml +++ b/config/initial-objects/110-report-user-list.xml @@ -25,7 +25,7 @@ Users in MidPoint Users listed in MidPoint. true - + UEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWo4K0RRbzhJVVJQUTFSWlVFVWdhbUZ6Y0dWeVZHVnRjR3hoZEdVTkNpQWdVRlZDVEVsRElDSXRMeTlLWVhOd1pYSlNaWEJ2Y25Sekx5OUVWRVFnVkdWdGNHeGhkR1V2TDBWT0lnMEtJQ0FpYUhSMGNEb3ZMMnBoYzNCbGNuSmxjRzl5ZEhNdWMyOTFjbU5sWm05eVoyVXVibVYwTDJSMFpITXZhbUZ6Y0dWeWRHVnRjR3hoZEdVdVpIUmtJajROQ2p4cVlYTndaWEpVWlcxd2JHRjBaVDROQ2lBZ0lDQWdJQ0FnQ1R4emRIbHNaU0JtYjI1MFRtRnRaVDBpUkdWcVlWWjFJRk5oYm5NaUlHWnZiblJUYVhwbFBTSXhNQ0lnYUVGc2FXZHVQU0pNWldaMElpQnBjMFJsWm1GMWJIUTlJblJ5ZFdVaUlHbHpVR1JtUlcxaVpXUmtaV1E5SW5SeWRXVWlJQTBLQ1FrSkNTQWdJRzVoYldVOUlrSmhjMlVpSUhCa1prVnVZMjlrYVc1blBTSkpaR1Z1ZEdsMGVTMUlJaUJ3WkdaR2IyNTBUbUZ0WlQwaVJHVnFZVloxVTJGdWN5NTBkR1lpSUhaQmJHbG5iajBpVFdsa1pHeGxJajROQ2drSkNUd3ZjM1I1YkdVK0RRb0pDUWs4YzNSNWJHVWdZbUZqYTJOdmJHOXlQU0lqTWpZM09UazBJaUJtYjI1MFUybDZaVDBpTWpZaUlHWnZjbVZqYjJ4dmNqMGlJMFpHUmtaR1JpSWdhWE5FWldaaGRXeDBQU0ptWVd4elpTSU5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J0YjJSbFBTSlBjR0Z4ZFdVaUlHNWhiV1U5SWxScGRHeGxJaUJ6ZEhsc1pUMGlRbUZ6WlNJdlBpQU5DZ2tKQ1R4emRIbHNaU0JtYjI1MFUybDZaVDBpTVRJaUlHWnZjbVZqYjJ4dmNqMGlJekF3TURBd01DSWdhWE5FWldaaGRXeDBQU0ptWVd4elpTSWdibUZ0WlQwaVVHRm5aU0JvWldGa1pYSWlEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNSNWJHVTlJa0poYzJVaUx6NE5DZ2tKQ1R4emRIbHNaU0JpWVdOclkyOXNiM0k5SWlNek16TXpNek1pSUdadmJuUlRhWHBsUFNJeE1pSWdabTl5WldOdmJHOXlQU0lqUmtaR1JrWkdJaUJvUVd4cFoyNDlJa05sYm5SbGNpSU5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwYzBSbFptRjFiSFE5SW1aaGJITmxJaUJ0YjJSbFBTSlBjR0Z4ZFdVaUlHNWhiV1U5SWtOdmJIVnRiaUJvWldGa1pYSWlJSE4wZVd4bFBTSkNZWE5sSWk4K0RRb0pDUWs4YzNSNWJHVWdhWE5DYjJ4a1BTSm1ZV3h6WlNJZ2FYTkVaV1poZFd4MFBTSm1ZV3h6WlNJZ2JtRnRaVDBpUkdWMFlXbHNJaUJ6ZEhsc1pUMGlRbUZ6WlNJdlBnMEtJQ0FnSUNBZ0lDQWdJQ0FnUEhOMGVXeGxJR2x6UW05c1pEMGlabUZzYzJVaUlHbHpSR1ZtWVhWc2REMGlabUZzYzJVaUlHNWhiV1U5SWtOdlpHVWlJSE4wZVd4bFBTSkNZWE5sSWlCbWIyNTBVMmw2WlQwaU9TSXZQZzBLQ1FrSlBITjBlV3hsSUdadmJuUlRhWHBsUFNJNUlpQm1iM0psWTI5c2IzSTlJaU13TURBd01EQWlJR2x6UkdWbVlYVnNkRDBpWm1Gc2MyVWlJRzVoYldVOUlsQmhaMlVnWm05dmRHVnlJZzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOMGVXeGxQU0pDWVhObElpOCtEUW9KQ1R3dmFtRnpjR1Z5VkdWdGNHeGhkR1Ur html diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/component/JasperReportConfigurationPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/component/JasperReportConfigurationPanel.java index eb7f65f62cd..6ff36f4c435 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/component/JasperReportConfigurationPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/component/JasperReportConfigurationPanel.java @@ -201,16 +201,19 @@ private List> initParameterColumns() { columns.add(column); //name editing column - columns.add(buildEditableLinkColumn("JasperReportConfigurationPanel.parameterName", "name", true)); + columns.add(buildEditableLinkColumn("JasperReportConfigurationPanel.parameterName", null, "name", true)); //class editing column - columns.add(buildEditableLinkColumn("JasperReportConfigurationPanel.parameterClass", "typeAsString", true)); + columns.add(buildEditableLinkColumn("JasperReportConfigurationPanel.parameterClass", null, "typeAsString", true)); + + //property:key editing column + columns.add(buildEditableLinkColumn("JasperReportConfigurationPanel.parameterProperty", "key", "propertyKey", false)); - //property:path editing column - columns.add(buildEditableLinkColumn("JasperReportConfigurationPanel.parameterPropertyPath", "propertyPath", false)); + //property:label editing column + columns.add(buildEditableLinkColumn("JasperReportConfigurationPanel.parameterProperty", "label", "propertyLabel", false)); //property:targetType editing column - columns.add(buildEditableLinkColumn("JasperReportConfigurationPanel.parameterTargetType", "propertyTargetType", false)); + columns.add(buildEditableLinkColumn("JasperReportConfigurationPanel.parameterProperty", "targetType", "propertyTargetType", false)); CheckBoxColumn forPrompting = new CheckBoxColumn( createStringResource("JasperReportConfigurationPanel.forPrompting"), "forPrompting") { @@ -229,9 +232,9 @@ public void populateItem(Item> cellItem return columns; } - private EditableLinkColumn buildEditableLinkColumn(String resource, String property, final Boolean mandatory) { + private EditableLinkColumn buildEditableLinkColumn(String resource, String resourceParam, String property, final Boolean mandatory) { return new EditableLinkColumn( - createStringResource(resource), property) { + createStringResource(resource, resourceParam), property) { @Override protected Component createInputPanel(String componentId, final IModel model) { diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/component/RunReportPopupPanel.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/component/RunReportPopupPanel.java index 15a7e054351..383f5031307 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/component/RunReportPopupPanel.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/component/RunReportPopupPanel.java @@ -118,11 +118,9 @@ public class RunReportPopupPanel extends SimplePanel { private IModel reportModel; private ReportType reportType; - public void setReportType(ReportType reportType) { this.reportType = reportType; - if (getParametersTable() != null) { replace(createTablePanel()); } @@ -158,8 +156,8 @@ protected ReportDto load() { return new ReportDto(reportType, true); } }; - - ISortableDataProvider provider = new ListDataProvider<>(this, + + ISortableDataProvider provider = new ListDataProvider<>(this, new PropertyModel>(reportModel, "jasperReportDto.parameters")); TablePanel table = new TablePanel<>(ID_PARAMETERS_TABLE, provider, initParameterColumns()); table.setOutputMarkupId(true); @@ -219,7 +217,7 @@ public void populateItem(Item> cellItem return columns; } - private Component createTypedInputPanel(String componentId, IModel model, String expression) { + private Component createTypedInputPanel(String componentId, IModel model, String expression) { JasperReportParameterDto param = model.getObject(); param.setEditing(true); @@ -229,7 +227,7 @@ private Component createTypedInputPanel(String componentId, IModel(), false); - } else if (lookup != null){ - panel = new AutoCompleteTextPanel(componentId, new LookupPropertyModel(model, expression, + } else if (lookup != null) { + panel = new AutoCompleteTextPanel(componentId, new LookupPropertyModel(model, expression, lookup), String.class) { - @Override - public Iterator getIterator(String input) { - return prepareAutoCompleteList(input, lookup).iterator(); - } - }; - } else if ("stringAttributeName".equals(param.getName())) { // hardcoded for User report - panel = new DropDownChoicePanel(componentId, new PropertyModel(model, expression), - createUserAttributeListModel(String.class), new ChoiceRenderer(), false); - } else if ("polyStringAttributeName".equals(param.getName())) { // hardcoded for User report - panel = new DropDownChoicePanel(componentId, new PropertyModel(model, expression), - createUserAttributeListModel(PolyString.class), new ChoiceRenderer(), false); - } else { + @Override + public Iterator getIterator(String input) { + return prepareAutoCompleteList(input, lookup).iterator(); + } + }; + } /* + else if ("stringAttributeName".equals(param.getName())) { // hardcoded for User report + panel = new DropDownChoicePanel(componentId, new PropertyModel(model, expression), + createUserAttributeListModel(String.class), new ChoiceRenderer(), false); + } else if ("polyStringAttributeName".equals(param.getName())) { // hardcoded for User report + panel = new DropDownChoicePanel(componentId, new PropertyModel(model, expression), + createUserAttributeListModel(PolyString.class), new ChoiceRenderer(), false); + } */ else { panel = new TextPanel(componentId, new PropertyModel(model, expression)); } List components = panel.getFormComponents(); @@ -277,115 +276,133 @@ public Iterator getIterator(String input) { return panel; } - + private LookupTableType createLookupTable(JasperReportParameterDto param) { - ItemPath path = null; - - JRPropertiesMap properties = param.getProperties(); - - if (properties == null){ - return null; - } - - String pPath = properties.getProperty("path"); - if (pPath != null){ - path = new ItemPath(pPath); - } - - String pTargetType = properties.getProperty("targetType"); - Class targetType = null; - if (pTargetType != null){ - try { - targetType = (Class) Class.forName(pTargetType); - } catch (ClassNotFoundException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - - if (path != null && targetType != null){ - OperationResult result = new OperationResult(OPERATION_LOAD_RESOURCES); + ItemPath label = null; + ItemPath key = null; + + JRPropertiesMap properties = param.getProperties(); + + if (properties == null) { + return null; + } + + String pLabel = properties.getProperty("label"); + if (pLabel != null) { + label = new ItemPath(pLabel); + } + String pKey = properties.getProperty("key"); + if (pKey != null) { + key = new ItemPath(pKey); + } + + String pTargetType = properties.getProperty("targetType"); + Class targetType = null; + if (pTargetType != null) { + try { + targetType = (Class) Class.forName(pTargetType); + } catch (ClassNotFoundException e) { + error("Error while creating lookup table for input parameter: " + param.getName() + ", " + e.getClass().getSimpleName() + " (" + e.getMessage() + ")"); + //e.printStackTrace(); + } + } + + if (label != null && targetType != null) { + OperationResult result = new OperationResult(OPERATION_LOAD_RESOURCES); Task task = createSimpleTask(OPERATION_LOAD_RESOURCES); - - Collection> objects; - try { - objects = modelService.searchObjects(targetType, new ObjectQuery(), SelectorOptions.createCollection(GetOperationOptions.createNoFetch()), task, result); - - LookupTableType lookup = new LookupTableType(); - - for (PrismObject o : objects){ - PrismProperty item = o.findProperty(path); - //TODO: TODO TODO e.g. support not only for property, but also ref, continer.. - if (item == null || item.isEmpty()){ - continue; - } - - //TODO support for single/multivalue value - if (!item.isSingleValue()){ - continue; - } - - Object realValue = item.getRealValue(); - - // TODO: take definition into account - QName typeName = item.getDefinition().getTypeName(); - - - //TODO ros.setValue() ???? use value which will be used in the filter?? get the name of the parameter used for filter from properties map (key) - LookupTableRowType row = new LookupTableRowType(); - if (realValue instanceof PolyString){ - row.setKey(WebMiscUtil.getOrigStringFromPoly((PolyString) realValue)); - row.setLabel(new PolyStringType((PolyString)realValue)); - } else if (realValue instanceof PolyStringType){ - row.setKey(WebMiscUtil.getOrigStringFromPoly((PolyStringType) realValue)); - row.setLabel((PolyStringType)realValue); - } else if (realValue instanceof String){ - row.setKey((String) realValue); - row.setLabel(new PolyStringType((String)realValue)); - } else { - row.setKey(realValue.toString()); - row.setLabel(new PolyStringType(realValue.toString())); - } - - lookup.getRow().add(row); - } - - return lookup; - } catch (SchemaException | ObjectNotFoundException | SecurityViolationException - | CommunicationException | ConfigurationException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - - + + Collection> objects; + try { + objects = modelService.searchObjects(targetType, new ObjectQuery(), SelectorOptions.createCollection(GetOperationOptions.createNoFetch()), task, result); + + LookupTableType lookup = new LookupTableType(); + + for (PrismObject o : objects) { + Object realKeyValue = null; + PrismProperty labelItem = o.findProperty(label); + + //TODO: e.g. support not only for property, but also ref, container.. + if (labelItem == null || labelItem.isEmpty()) { + continue; + } + PrismProperty keyItem = o.findProperty(key); + if ("oid".equals(pKey)) { + realKeyValue = o.getOid(); + } + if (realKeyValue == null && (keyItem == null || keyItem.isEmpty())) { + continue; + } + + //TODO: support for single/multivalue value + if (!labelItem.isSingleValue()) { + continue; + } + + Object realLabelValue = labelItem.getRealValue(); + realKeyValue = (realKeyValue == null) ? keyItem.getRealValue() : realKeyValue; + + // TODO: take definition into account + QName typeName = labelItem.getDefinition().getTypeName(); + + LookupTableRowType row = new LookupTableRowType(); + + if (realKeyValue != null) { + row.setKey(convertObjectToPolyStringType(realKeyValue).getOrig()); + } else { + throw new SchemaException("Cannot create lookup table with null key for label: " + realLabelValue); + } + + row.setLabel(convertObjectToPolyStringType(realLabelValue)); + + lookup.getRow().add(row); + } + + return lookup; + } catch (SchemaException | ObjectNotFoundException | SecurityViolationException | CommunicationException | ConfigurationException e) { + error("Error while creating lookup table for input parameter: " + param.getName() + ", " + e.getClass().getSimpleName() + " (" + e.getMessage() + ")"); + //e.printStackTrace(); + } + } - return null; - } + return null; + } + + private PolyStringType convertObjectToPolyStringType(Object o) { + if (o instanceof PolyString) { + return new PolyStringType((PolyString) o); + } else if (o instanceof PolyStringType) { + return (PolyStringType) o; + } else if (o instanceof String) { + return new PolyStringType((String) o); + } else { + return new PolyStringType(o.toString()); + } + } - private List prepareAutoCompleteList(String input, LookupTableType lookupTable){ + private List prepareAutoCompleteList(String input, LookupTableType lookupTable) { List values = new ArrayList<>(); - if(lookupTable == null){ + if (lookupTable == null) { return values; } List rows = lookupTable.getRow(); - if(input == null || input.isEmpty()){ - for(LookupTableRowType row: rows){ + if (input == null || input.isEmpty()) { + for (LookupTableRowType row : rows) { values.add(WebMiscUtil.getOrigStringFromPoly(row.getLabel())); - if(values.size() > 10){ + if (values.size() > 10) { return values; } } } else { - for(LookupTableRowType row: rows){ - if(WebMiscUtil.getOrigStringFromPoly(row.getLabel()).startsWith(input)){ + for (LookupTableRowType row : rows) { + if (WebMiscUtil.getOrigStringFromPoly(row.getLabel()).startsWith(input)) { values.add(WebMiscUtil.getOrigStringFromPoly(row.getLabel())); } - if(values.size() > 10){ + if (values.size() > 10) { return values; } } diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/dto/JasperReportDto.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/dto/JasperReportDto.java index 9fccf3b504e..2fa87e3e89b 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/dto/JasperReportDto.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/dto/JasperReportDto.java @@ -78,7 +78,7 @@ private void initFileds(boolean onlyForPromptingParams){ p.setNestedType(parameter.getNestedType()); } - if (parameter.hasProperties()){ + if (parameter.hasProperties()){ p.setProperties(parameter.getPropertiesMap()); } parameters.add(p); diff --git a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/dto/JasperReportParameterDto.java b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/dto/JasperReportParameterDto.java index 69292864575..2e17b4b8b36 100644 --- a/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/dto/JasperReportParameterDto.java +++ b/gui/admin-gui/src/main/java/com/evolveum/midpoint/web/page/admin/reports/dto/JasperReportParameterDto.java @@ -98,19 +98,34 @@ public JRPropertiesMap getProperties() { return (clearedMap.isEmpty()) ? null : clearedMap; } - public String getPropertyPath() { + public String getPropertyLabel() { if (properties != null) { - return properties.getProperty("path"); + return properties.getProperty("label"); } else { return null; } } - public void setPropertyPath(String val) { + public void setPropertyLabel(String val) { if (properties == null) { properties = new JRPropertiesMap(); } - properties.setProperty("path", val); + properties.setProperty("label", val); + } + + public String getPropertyKey() { + if (properties != null) { + return properties.getProperty("key"); + } else { + return null; + } + } + + public void setPropertyKey(String val) { + if (properties == null) { + properties = new JRPropertiesMap(); + } + properties.setProperty("key", val); } public String getPropertyTargetType() { diff --git a/gui/admin-gui/src/main/resources/initial-objects/090-report-audit.xml b/gui/admin-gui/src/main/resources/initial-objects/090-report-audit.xml index 31bf0f1b2b8..0273400bd39 100644 --- a/gui/admin-gui/src/main/resources/initial-objects/090-report-audit.xml +++ b/gui/admin-gui/src/main/resources/initial-objects/090-report-audit.xml @@ -24,7 +24,7 @@ Audit logs report Report made from audit records. true - + UEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWo4K0RRbzhJVVJQUTFSWlVFVWdhbUZ6Y0dWeVZHVnRjR3hoZEdVTkNpQWdVRlZDVEVsRElDSXRMeTlLWVhOd1pYSlNaWEJ2Y25Sekx5OUVWRVFnVkdWdGNHeGhkR1V2TDBWT0lnMEtJQ0FpYUhSMGNEb3ZMMnBoYzNCbGNuSmxjRzl5ZEhNdWMyOTFjbU5sWm05eVoyVXVibVYwTDJSMFpITXZhbUZ6Y0dWeWRHVnRjR3hoZEdVdVpIUmtJajROQ2p4cVlYTndaWEpVWlcxd2JHRjBaVDROQ2lBZ0lDQWdJQ0FnQ1R4emRIbHNaU0JtYjI1MFRtRnRaVDBpUkdWcVlWWjFJRk5oYm5NaUlHWnZiblJUYVhwbFBTSXhNQ0lnYUVGc2FXZHVQU0pNWldaMElpQnBjMFJsWm1GMWJIUTlJblJ5ZFdVaUlHbHpVR1JtUlcxaVpXUmtaV1E5SW5SeWRXVWlJQTBLQ1FrSkNTQWdJRzVoYldVOUlrSmhjMlVpSUhCa1prVnVZMjlrYVc1blBTSkpaR1Z1ZEdsMGVTMUlJaUJ3WkdaR2IyNTBUbUZ0WlQwaVJHVnFZVloxVTJGdWN5NTBkR1lpSUhaQmJHbG5iajBpVFdsa1pHeGxJajROQ2drSkNUd3ZjM1I1YkdVK0RRb0pDUWs4YzNSNWJHVWdZbUZqYTJOdmJHOXlQU0lqTWpZM09UazBJaUJtYjI1MFUybDZaVDBpTWpZaUlHWnZjbVZqYjJ4dmNqMGlJMFpHUmtaR1JpSWdhWE5FWldaaGRXeDBQU0ptWVd4elpTSU5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J0YjJSbFBTSlBjR0Z4ZFdVaUlHNWhiV1U5SWxScGRHeGxJaUJ6ZEhsc1pUMGlRbUZ6WlNJdlBpQU5DZ2tKQ1R4emRIbHNaU0JtYjI1MFUybDZaVDBpTVRJaUlHWnZjbVZqYjJ4dmNqMGlJekF3TURBd01DSWdhWE5FWldaaGRXeDBQU0ptWVd4elpTSWdibUZ0WlQwaVVHRm5aU0JvWldGa1pYSWlEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNSNWJHVTlJa0poYzJVaUx6NE5DZ2tKQ1R4emRIbHNaU0JpWVdOclkyOXNiM0k5SWlNek16TXpNek1pSUdadmJuUlRhWHBsUFNJeE1pSWdabTl5WldOdmJHOXlQU0lqUmtaR1JrWkdJaUJvUVd4cFoyNDlJa05sYm5SbGNpSU5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwYzBSbFptRjFiSFE5SW1aaGJITmxJaUJ0YjJSbFBTSlBjR0Z4ZFdVaUlHNWhiV1U5SWtOdmJIVnRiaUJvWldGa1pYSWlJSE4wZVd4bFBTSkNZWE5sSWk4K0RRb0pDUWs4YzNSNWJHVWdhWE5DYjJ4a1BTSm1ZV3h6WlNJZ2FYTkVaV1poZFd4MFBTSm1ZV3h6WlNJZ2JtRnRaVDBpUkdWMFlXbHNJaUJ6ZEhsc1pUMGlRbUZ6WlNJdlBnMEtJQ0FnSUNBZ0lDQWdJQ0FnUEhOMGVXeGxJR2x6UW05c1pEMGlabUZzYzJVaUlHbHpSR1ZtWVhWc2REMGlabUZzYzJVaUlHNWhiV1U5SWtOdlpHVWlJSE4wZVd4bFBTSkNZWE5sSWlCbWIyNTBVMmw2WlQwaU9TSXZQZzBLQ1FrSlBITjBlV3hsSUdadmJuUlRhWHBsUFNJNUlpQm1iM0psWTI5c2IzSTlJaU13TURBd01EQWlJR2x6UkdWbVlYVnNkRDBpWm1Gc2MyVWlJRzVoYldVOUlsQmhaMlVnWm05dmRHVnlJZzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOMGVXeGxQU0pDWVhObElpOCtEUW9KQ1R3dmFtRnpjR1Z5VkdWdGNHeGhkR1Ur html \ No newline at end of file diff --git a/gui/admin-gui/src/main/resources/initial-objects/100-report-reconciliation.xml b/gui/admin-gui/src/main/resources/initial-objects/100-report-reconciliation.xml index 7ed4b873baf..b4a97b8e88d 100644 --- a/gui/admin-gui/src/main/resources/initial-objects/100-report-reconciliation.xml +++ b/gui/admin-gui/src/main/resources/initial-objects/100-report-reconciliation.xml @@ -24,7 +24,7 @@ Reconciliation report Reconciliation report for selected resource. true - + UEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWo4K0RRbzhJVVJQUTFSWlVFVWdhbUZ6Y0dWeVZHVnRjR3hoZEdVTkNpQWdVRlZDVEVsRElDSXRMeTlLWVhOd1pYSlNaWEJ2Y25Sekx5OUVWRVFnVkdWdGNHeGhkR1V2TDBWT0lnMEtJQ0FpYUhSMGNEb3ZMMnBoYzNCbGNuSmxjRzl5ZEhNdWMyOTFjbU5sWm05eVoyVXVibVYwTDJSMFpITXZhbUZ6Y0dWeWRHVnRjR3hoZEdVdVpIUmtJajROQ2p4cVlYTndaWEpVWlcxd2JHRjBaVDROQ2lBZ0lDQWdJQ0FnQ1R4emRIbHNaU0JtYjI1MFRtRnRaVDBpUkdWcVlWWjFJRk5oYm5NaUlHWnZiblJUYVhwbFBTSXhNQ0lnYUVGc2FXZHVQU0pNWldaMElpQnBjMFJsWm1GMWJIUTlJblJ5ZFdVaUlHbHpVR1JtUlcxaVpXUmtaV1E5SW5SeWRXVWlJQTBLQ1FrSkNTQWdJRzVoYldVOUlrSmhjMlVpSUhCa1prVnVZMjlrYVc1blBTSkpaR1Z1ZEdsMGVTMUlJaUJ3WkdaR2IyNTBUbUZ0WlQwaVJHVnFZVloxVTJGdWN5NTBkR1lpSUhaQmJHbG5iajBpVFdsa1pHeGxJajROQ2drSkNUd3ZjM1I1YkdVK0RRb0pDUWs4YzNSNWJHVWdZbUZqYTJOdmJHOXlQU0lqTWpZM09UazBJaUJtYjI1MFUybDZaVDBpTWpZaUlHWnZjbVZqYjJ4dmNqMGlJMFpHUmtaR1JpSWdhWE5FWldaaGRXeDBQU0ptWVd4elpTSU5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J0YjJSbFBTSlBjR0Z4ZFdVaUlHNWhiV1U5SWxScGRHeGxJaUJ6ZEhsc1pUMGlRbUZ6WlNJdlBpQU5DZ2tKQ1R4emRIbHNaU0JtYjI1MFUybDZaVDBpTVRJaUlHWnZjbVZqYjJ4dmNqMGlJekF3TURBd01DSWdhWE5FWldaaGRXeDBQU0ptWVd4elpTSWdibUZ0WlQwaVVHRm5aU0JvWldGa1pYSWlEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNSNWJHVTlJa0poYzJVaUx6NE5DZ2tKQ1R4emRIbHNaU0JpWVdOclkyOXNiM0k5SWlNek16TXpNek1pSUdadmJuUlRhWHBsUFNJeE1pSWdabTl5WldOdmJHOXlQU0lqUmtaR1JrWkdJaUJvUVd4cFoyNDlJa05sYm5SbGNpSU5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwYzBSbFptRjFiSFE5SW1aaGJITmxJaUJ0YjJSbFBTSlBjR0Z4ZFdVaUlHNWhiV1U5SWtOdmJIVnRiaUJvWldGa1pYSWlJSE4wZVd4bFBTSkNZWE5sSWk4K0RRb0pDUWs4YzNSNWJHVWdhWE5DYjJ4a1BTSm1ZV3h6WlNJZ2FYTkVaV1poZFd4MFBTSm1ZV3h6WlNJZ2JtRnRaVDBpUkdWMFlXbHNJaUJ6ZEhsc1pUMGlRbUZ6WlNJdlBnMEtJQ0FnSUNBZ0lDQWdJQ0FnUEhOMGVXeGxJR2x6UW05c1pEMGlabUZzYzJVaUlHbHpSR1ZtWVhWc2REMGlabUZzYzJVaUlHNWhiV1U5SWtOdlpHVWlJSE4wZVd4bFBTSkNZWE5sSWlCbWIyNTBVMmw2WlQwaU9TSXZQZzBLQ1FrSlBITjBlV3hsSUdadmJuUlRhWHBsUFNJNUlpQm1iM0psWTI5c2IzSTlJaU13TURBd01EQWlJR2x6UkdWbVlYVnNkRDBpWm1Gc2MyVWlJRzVoYldVOUlsQmhaMlVnWm05dmRHVnlJZzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOMGVXeGxQU0pDWVhObElpOCtEUW9KQ1R3dmFtRnpjR1Z5VkdWdGNHeGhkR1Ur html \ No newline at end of file diff --git a/gui/admin-gui/src/main/resources/initial-objects/110-report-user-list.xml b/gui/admin-gui/src/main/resources/initial-objects/110-report-user-list.xml index 7585edeec8d..0676f26fcdb 100644 --- a/gui/admin-gui/src/main/resources/initial-objects/110-report-user-list.xml +++ b/gui/admin-gui/src/main/resources/initial-objects/110-report-user-list.xml @@ -25,7 +25,7 @@ Users in MidPoint Users listed in MidPoint. true - + UEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWo4K0RRbzhJVVJQUTFSWlVFVWdhbUZ6Y0dWeVZHVnRjR3hoZEdVTkNpQWdVRlZDVEVsRElDSXRMeTlLWVhOd1pYSlNaWEJ2Y25Sekx5OUVWRVFnVkdWdGNHeGhkR1V2TDBWT0lnMEtJQ0FpYUhSMGNEb3ZMMnBoYzNCbGNuSmxjRzl5ZEhNdWMyOTFjbU5sWm05eVoyVXVibVYwTDJSMFpITXZhbUZ6Y0dWeWRHVnRjR3hoZEdVdVpIUmtJajROQ2p4cVlYTndaWEpVWlcxd2JHRjBaVDROQ2lBZ0lDQWdJQ0FnQ1R4emRIbHNaU0JtYjI1MFRtRnRaVDBpUkdWcVlWWjFJRk5oYm5NaUlHWnZiblJUYVhwbFBTSXhNQ0lnYUVGc2FXZHVQU0pNWldaMElpQnBjMFJsWm1GMWJIUTlJblJ5ZFdVaUlHbHpVR1JtUlcxaVpXUmtaV1E5SW5SeWRXVWlJQTBLQ1FrSkNTQWdJRzVoYldVOUlrSmhjMlVpSUhCa1prVnVZMjlrYVc1blBTSkpaR1Z1ZEdsMGVTMUlJaUJ3WkdaR2IyNTBUbUZ0WlQwaVJHVnFZVloxVTJGdWN5NTBkR1lpSUhaQmJHbG5iajBpVFdsa1pHeGxJajROQ2drSkNUd3ZjM1I1YkdVK0RRb0pDUWs4YzNSNWJHVWdZbUZqYTJOdmJHOXlQU0lqTWpZM09UazBJaUJtYjI1MFUybDZaVDBpTWpZaUlHWnZjbVZqYjJ4dmNqMGlJMFpHUmtaR1JpSWdhWE5FWldaaGRXeDBQU0ptWVd4elpTSU5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0J0YjJSbFBTSlBjR0Z4ZFdVaUlHNWhiV1U5SWxScGRHeGxJaUJ6ZEhsc1pUMGlRbUZ6WlNJdlBpQU5DZ2tKQ1R4emRIbHNaU0JtYjI1MFUybDZaVDBpTVRJaUlHWnZjbVZqYjJ4dmNqMGlJekF3TURBd01DSWdhWE5FWldaaGRXeDBQU0ptWVd4elpTSWdibUZ0WlQwaVVHRm5aU0JvWldGa1pYSWlEUW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnYzNSNWJHVTlJa0poYzJVaUx6NE5DZ2tKQ1R4emRIbHNaU0JpWVdOclkyOXNiM0k5SWlNek16TXpNek1pSUdadmJuUlRhWHBsUFNJeE1pSWdabTl5WldOdmJHOXlQU0lqUmtaR1JrWkdJaUJvUVd4cFoyNDlJa05sYm5SbGNpSU5DaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0JwYzBSbFptRjFiSFE5SW1aaGJITmxJaUJ0YjJSbFBTSlBjR0Z4ZFdVaUlHNWhiV1U5SWtOdmJIVnRiaUJvWldGa1pYSWlJSE4wZVd4bFBTSkNZWE5sSWk4K0RRb0pDUWs4YzNSNWJHVWdhWE5DYjJ4a1BTSm1ZV3h6WlNJZ2FYTkVaV1poZFd4MFBTSm1ZV3h6WlNJZ2JtRnRaVDBpUkdWMFlXbHNJaUJ6ZEhsc1pUMGlRbUZ6WlNJdlBnMEtJQ0FnSUNBZ0lDQWdJQ0FnUEhOMGVXeGxJR2x6UW05c1pEMGlabUZzYzJVaUlHbHpSR1ZtWVhWc2REMGlabUZzYzJVaUlHNWhiV1U5SWtOdlpHVWlJSE4wZVd4bFBTSkNZWE5sSWlCbWIyNTBVMmw2WlQwaU9TSXZQZzBLQ1FrSlBITjBlV3hsSUdadmJuUlRhWHBsUFNJNUlpQm1iM0psWTI5c2IzSTlJaU13TURBd01EQWlJR2x6UkdWbVlYVnNkRDBpWm1Gc2MyVWlJRzVoYldVOUlsQmhaMlVnWm05dmRHVnlJZzBLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUhOMGVXeGxQU0pDWVhObElpOCtEUW9KQ1R3dmFtRnpjR1Z5VkdWdGNHeGhkR1Ur html diff --git a/gui/admin-gui/src/main/resources/localization/Midpoint.properties b/gui/admin-gui/src/main/resources/localization/Midpoint.properties index cc629dfbf5a..03f844286c0 100644 --- a/gui/admin-gui/src/main/resources/localization/Midpoint.properties +++ b/gui/admin-gui/src/main/resources/localization/Midpoint.properties @@ -407,8 +407,7 @@ JasperReportConfigurationPanel.fieldName=Field name JasperReportConfigurationPanel.forPrompting=For prompting JasperReportConfigurationPanel.parameterClass=Parameter class JasperReportConfigurationPanel.parameterName=Parameter name -JasperReportConfigurationPanel.parameterPropertyPath=Property: path -JasperReportConfigurationPanel.parameterTargetType=Property: targetType +JasperReportConfigurationPanel.parameterProperty=Property: {0} JasperReportConfigurationPanel.reportFields=Report fields JasperReportConfigurationPanel.reportParameters=Report parameters JasperReportConfigurationPanel.reportQuery=Report query @@ -2118,7 +2117,8 @@ QNameEditor.tooltip.attribute=TODO\: QNameEditor.tooltip.attribute QNameEditor.tooltip.localPart=Local part of QName QNameEditor.tooltip.namespace=Namespace of QName RangeValidator.range=Field '${label}' have to be between ${minimum} and ${maximum}. -ReconciliationPopupPanel.exportFileType=Export TypeDownloadButtonPanel.download=Download# +ReconciliationPopupPanel.exportFileType=Export Type +DownloadButtonPanel.download=Download ReconciliationPopupPanel.resource=Resource ReconciliationPopupPanel.title.basic=Basic Reconciliation Report Configuration repeater.input.nullValid=Choose One diff --git a/model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/ReportUtils.java b/model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/ReportUtils.java index f2c483ece35..e0c347b82dd 100644 --- a/model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/ReportUtils.java +++ b/model/report-impl/src/main/java/com/evolveum/midpoint/report/impl/ReportUtils.java @@ -155,7 +155,7 @@ public static String getPropertyString(String key, String defaultValue) { String val = (defaultValue == null) ? key : defaultValue; ResourceBundle bundle; try { - bundle = ResourceBundle.getBundle("com.evolveum.midpoint.web.security.MidPointApplication"); + bundle = ResourceBundle.getBundle("localization/Midpoint"); } catch (MissingResourceException e) { return (defaultValue != null) ? defaultValue : key; //workaround for Jasper Studio } @@ -431,7 +431,7 @@ public static String prettyPrintForReport(ItemDeltaType itemDelta) { return sb.toString(); } - public static String getBusinessDisplayName(ObjectReferenceType ort) { + public static String getBusinessDisplayName(ObjectReferenceType ort) { return ort.getDescription(); }