Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | 1x | /**
* Factory pour générer une reponse JSON à partir d'un XML
* (Factory)
*
* @module GeocodeResponseFactory
* @alias Gp.Services.Geocode.Response.GeocodeResponseFactory
* @private
*/
// import Logger from "../../../Utils/LoggerByDefault";
import ErrorService from "../../../Exceptions/ErrorService";
import MRes from "../../../Utils/MessagesResources";
import GeocodeResponseParser from "../Formats/GeocodeResponseParser";
var GeocodeReponseFactory = {
/**
* interface unique
*
* @method build
* @static
* @param {Object} options - options definies dans le composant Geocode
*
* @example
* var options = {
* response :
* rawResponse :
* scope :
* onSuccess :
* onError :
* };
*
*/
build : function (options) {
// data de type GeocodeResponse
var data = null;
if (options.response) {
if (options.rawResponse) {
data = options.response;
} else {
try {
const parser = new GeocodeResponseParser();
data = parser.parse(options.response);
if (!data) {
throw new Error("L'analyse de la réponse du service !?");
}
} catch (e) {
var message = e.message;
if (typeof options.response === "string") {
message += "('" + options.response + "')";
} else {
message += "('" + options.response.documentElement.innerHTML + "')";
}
options.onError.call(options.scope, new ErrorService({
message : MRes.getMessage("SERVICE_RESPONSE_ANALYSE", message),
type : ErrorService.TYPE_UNKERR,
status : -1
}));
return;
}
// Si la réponse contenait une exception renvoyée par le service
if (data.exceptionReport) {
options.onError.call(options.scope, new ErrorService({
message : MRes.getMessage("SERVICE_RESPONSE_EXCEPTION", data.exceptionReport),
type : ErrorService.TYPE_SRVERR,
status : 200 // FIXME : 200 ?
}));
return;
}
}
} else {
options.onError.call(options.scope, new ErrorService({
message : MRes.getMessage("SERVICE_RESPONSE_EMPTY"),
type : ErrorService.TYPE_SRVERR,
status : -1 // FIXME : status response
}));
return;
}
options.onSuccess.call(options.scope, data);
}
};
export default GeocodeReponseFactory;
|