[Engine-devel] IMP: Regarding an issue while translating the error messages for gluster using ErrorTranslator class
Daniel Erez
derez at redhat.com
Wed Nov 6 14:13:30 UTC 2013
----- Original Message -----
> From: "Shubhendu Tripathi" <shtripat at redhat.com>
> To: derez at redhat.com, "engine-devel" <engine-devel at ovirt.org>
> Cc: "Dusmant Pati" <dpati at redhat.com>
> Sent: Wednesday, November 6, 2013 12:07:34 PM
> Subject: IMP: Regarding an issue while translating the error messages for gluster using ErrorTranslator class
>
> Hi,
>
> In the case of Gluster, as there are no one to one mappings available
> for all the error messages from Gluster, we set the error in the
> VdcFault object as NULL.
> We also populate the actual error from the Gluster as error message in
> the fault object.
>
> /getReturnValue().getExecuteFailedMessages().add(error);//
> //getReturnValue().getFault().setMessage(error);//
> //getReturnValue().getFault().setError(null);/
>
> Because of above settings and the below code snippet in /Frontend.java/
> class the error message as is gets displayed on the error dialog -
> /
> //public String translateVdcFault(final VdcFault fault) {//
> // return
> getVdsmErrorsTranslator().TranslateErrorTextSingle(fault.getError() ==
> null//
> // ? fault.getMessage() : fault.getError().toString());//
> //}//
> /
> Well and good till now !!
>
> But while translation of the error messages, all the occurrences of "."
> get replaced with "_".
> This causes an issue for the gluster errors. If the error message sent
> from gluster has "."s (say IP Address of a host or FQDN for a host),
> that also gets replaced with "_" and the error message does not look
> correct.
This mechanism of replacing [1] has been introduced to allow proper
message translation when retrieving a message key that contains dots.
E.g. AppErrors.properties -> VALIDATION.ROLES.NAME.MAX is translated
to VALIDATION_ROLES_NAME_MAX in AppErrors.java interface (as interface
signatures cannot contain dots. Note that this process shouldn't
address the message; i.e. only the key is examined for dots.
As you've mentioned VdsmErrorsTranslator I guess there's an issue
only when translating VdsmErrors messages.
Can you please send an example of a message usage?
(and maybe try the same message using AppErrors instead)
[1] ErrorTranslator -> translateErrorTextSingle()
>
> Request your suggestion for handling such a case.
>
> *PS: *One thing I can think of is, introducing a flag called
> /isExternalError/ in /VdcFault/ class to identify if the source of the
> fault is external. From Gluster we would set the flag as /true/, and
> while replacement of "." with "_", if the flag is set it will not do the
> replacements.
>
> Regards,
> Shubhendu
>
More information about the Engine-devel
mailing list