public static String buildJavascriptFault(BrokerMessage request, Exception fault) { log.enteredMethod(); JsonOutput jsonWriter = new JsonStringOutput(); jsonWriter.append("jsonbroker.forwardFault(\"fault\","); JsonObjectHandler jsonObjectHandler = JsonObjectHandler.getInstance(); jsonObjectHandler.WriteValue(request.getMetaData(), jsonWriter); jsonWriter.append(",\""); jsonWriter.append(request.getServiceName()); jsonWriter.append("\",1,0,\""); jsonWriter.append(request.getMethodName()); jsonWriter.append("\","); jsonObjectHandler.WriteValue(FaultSerializer.ToJsonObject(fault), jsonWriter); jsonWriter.append(");"); String answer = jsonWriter.ToString(); log.debug(answer, "answer"); return answer; }
public static String buildJavascriptResponse(BrokerMessage response) { log.enteredMethod(); JsonStringOutput jsonWriter = new JsonStringOutput(); jsonWriter.append("jsonbroker.forwardResponse(\"response\","); JsonObjectHandler jsonObjectHandler = JsonObjectHandler.getInstance(); jsonObjectHandler.WriteValue(response.getMetaData(), jsonWriter); jsonWriter.append(",\""); jsonWriter.append(response.getServiceName()); jsonWriter.append("\",1,0,\""); jsonWriter.append(response.getMethodName()); jsonWriter.append("\","); jsonObjectHandler.WriteValue(response.GetAssociativeParamaters(), jsonWriter); JsonArray parameters = response.GetOrderedParamaters(); for (int i = 0, count = parameters.Count(); i < count; i++) { jsonWriter.append(','); Object blob = parameters.GetObject(i); JsonHandler handler = JsonHandler.getHandler(blob); handler.WriteValue(blob, jsonWriter); } jsonWriter.append(");"); String answer = jsonWriter.ToString(); log.debug(answer, "answer"); return answer; }
public BrokerMessage process(BrokerMessage request) { if (BrokerMessageType.META_REQUEST == request.getMessageType()) { return this.processMetaRequest(request); } Service serviceDelegate = this.getService( request.getServiceName() ); return serviceDelegate.process(request); }
private BrokerMessage processMetaRequest(BrokerMessage request) { String methodName = request.getMethodName(); if ("getVersion".Equals(methodName)) { JsonObject associativeParamaters = request.GetAssociativeParamaters(); String serviceName = request.getServiceName(); BrokerMessage answer = BrokerMessage.buildMetaResponse(request); associativeParamaters = answer.GetAssociativeParamaters(); if (!_services.ContainsKey(serviceName)) { associativeParamaters.put("exists", false); } else { associativeParamaters.put("exists", true); DescribedService describedService = _services[serviceName]; ServiceDescription serviceDescription = describedService.getServiceDescription(); associativeParamaters.put("majorVersion", serviceDescription.getMajorVersion()); associativeParamaters.put("minorVersion", serviceDescription.getMinorVersion()); } return answer; } throw ServiceHelper.methodNotFound(this, request); }