Alexander Wels has uploaded a new change for review. Change subject: userportal,webadmin: fix error translation ......................................................................
userportal,webadmin: fix error translation - Fixed issue where canDoAction messages where not being properly translated. - Updated unit tests to properly test for issue. Change-Id: I8b8218aa3190c4b5516bbdc261804c418cdb2ef5 Signed-off-by: Alexander Wels <[email protected]> --- M frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/Frontend.java M frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/FrontendActionTest.java 2 files changed, 19 insertions(+), 4 deletions(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/27/17427/1 diff --git a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/Frontend.java b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/Frontend.java index 980b579..5b0da4b 100644 --- a/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/Frontend.java +++ b/frontend/webadmin/modules/frontend/src/main/java/org/ovirt/engine/ui/frontend/Frontend.java @@ -143,8 +143,12 @@ private static void translateErrors(List<VdcReturnValueBase> errors) { for (VdcReturnValueBase retVal : errors) { - retVal.setCanDoActionMessages(getAppErrorsTranslator().translateErrorText(retVal.getCanDoActionMessages())); + retVal.setCanDoActionMessages((ArrayList<String>) translateError(retVal)); } + } + + private static List<String> translateError(VdcReturnValueBase error) { + return getAppErrorsTranslator().translateErrorText(error.getCanDoActionMessages()); } private static void failureEventHandler(String errorMessage) { @@ -890,6 +894,9 @@ FrontendActionAsyncResult f = new FrontendActionAsyncResult(actionType, parameters, result, state); boolean success = false; if (!result.getCanDoAction()) { + List<VdcReturnValueBase> failed = new ArrayList<VdcReturnValueBase>(); + failed.add(result); + translateErrors(failed); callback.executed(f); } else if (showErrorDialog && result.getIsSyncronious() && !result.getSucceeded()) { runActionExecutionFailed(actionType, result.getFault()); diff --git a/frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/FrontendActionTest.java b/frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/FrontendActionTest.java index 9ac5c6f..173e097 100644 --- a/frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/FrontendActionTest.java +++ b/frontend/webadmin/modules/frontend/src/test/java/org/ovirt/engine/ui/frontend/FrontendActionTest.java @@ -438,8 +438,11 @@ */ @Test public void testHandleActionResult_isRaiseErrorModalPanel_withActionMessageSize1() { + ArrayList<String> messageResult = new ArrayList<String>(); + messageResult.add("Translated Message"); //$NON-NLS-1$ VdcFault testFault = new VdcFault(); when(mockEventsHandler.isRaiseErrorModalPanel(VdcActionType.AddDisk, testFault)).thenReturn(true); + when(mockCanDoActionErrorsTranslator.translateErrorText((ArrayList<String>) any())).thenReturn(messageResult); Object testState = new Object(); VdcActionParametersBase testParameters = new VdcActionParametersBase(); VdcReturnValueBase returnValue = new VdcReturnValueBase(); @@ -460,7 +463,7 @@ verify(mockFrontendFailureEvent).raise(eq(Frontend.class), failureCaptor.capture()); assertEquals("Descriptions should match", "This is a description", //$NON-NLS-1$ //$NON-NLS-2$ failureCaptor.getValue().getMessage().getDescription()); - assertEquals("Text should match", "Message 1", //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals("Text should match translation", "Translated Message", //$NON-NLS-1$ //$NON-NLS-2$ failureCaptor.getValue().getMessage().getText()); } @@ -475,10 +478,15 @@ * </ol> * Test just the handler method. */ + @SuppressWarnings("unchecked") @Test public void testHandleActionResult_isRaiseErrorModalPanel_withActionMessageSizeGreaterThan1() { VdcFault testFault = new VdcFault(); + ArrayList<String> messageResult = new ArrayList<String>(); + messageResult.add("Translated Message 1"); //$NON-NLS-1$ + messageResult.add("Translated Message 2"); //$NON-NLS-1$ when(mockEventsHandler.isRaiseErrorModalPanel(VdcActionType.AddDisk, testFault)).thenReturn(true); + when(mockCanDoActionErrorsTranslator.translateErrorText((ArrayList<String>) any())).thenReturn(messageResult); Object testState = new Object(); VdcActionParametersBase testParameters = new VdcActionParametersBase(); VdcReturnValueBase returnValue = new VdcReturnValueBase(); @@ -499,9 +507,9 @@ ArgumentCaptor.forClass(FrontendFailureEventArgs.class); verify(mockFrontendFailureEvent).raise(eq(Frontend.class), failureCaptor.capture()); assertNull("Message should be null", failureCaptor.getValue().getMessage()); //$NON-NLS-1$ - assertEquals("Text should match", "Message 1", //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals("Translated text should match", "Translated Message 1", //$NON-NLS-1$ //$NON-NLS-2$ failureCaptor.getValue().getMessages().get(0).getText()); - assertEquals("Text should match", "Message 2", //$NON-NLS-1$ //$NON-NLS-2$ + assertEquals("Translated text should match", "Translated Message 2", //$NON-NLS-1$ //$NON-NLS-2$ failureCaptor.getValue().getMessages().get(1).getText()); } -- To view, visit http://gerrit.ovirt.org/17427 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I8b8218aa3190c4b5516bbdc261804c418cdb2ef5 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Alexander Wels <[email protected]> _______________________________________________ Engine-patches mailing list [email protected] http://lists.ovirt.org/mailman/listinfo/engine-patches
