private void OnGetClassifiersResp(RESTConnector.Request req, RESTConnector.Response resp) { Classifiers classifiers = new Classifiers(); if (resp.Success) { try { fsData data = null; fsResult r = fsJsonParser.Parse(Encoding.UTF8.GetString(resp.Data), out data); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } object obj = classifiers; r = sm_Serializer.TryDeserialize(data, obj.GetType(), ref obj); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } } catch (Exception e) { Log.Error("Natural Language Classifier", "GetClassifiers Exception: {0}", e.ToString()); resp.Success = false; } } if (((GetClassifiersReq)req).Callback != null) { ((GetClassifiersReq)req).Callback(resp.Success ? classifiers : null); } }
private void OnGetClassifiersResp(RESTConnector.Request req, RESTConnector.Response resp) { Classifiers result = new Classifiers(); fsData data = null; Dictionary <string, object> customData = ((GetClassifiersReq)req).CustomData; customData.Add(Constants.String.RESPONSE_HEADERS, resp.Headers); if (resp.Success) { try { fsResult r = fsJsonParser.Parse(Encoding.UTF8.GetString(resp.Data), out data); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } object obj = result; r = _serializer.TryDeserialize(data, obj.GetType(), ref obj); if (!r.Succeeded) { throw new WatsonException(r.FormattedMessages); } customData.Add("json", data); } catch (Exception e) { Log.Error("NaturalLanguageClassifier.OnGetClassifiersResp()", "GetClassifiers Exception: {0}", e.ToString()); resp.Success = false; } } if (resp.Success) { if (((GetClassifiersReq)req).SuccessCallback != null) { ((GetClassifiersReq)req).SuccessCallback(result, customData); } } else { if (((GetClassifiersReq)req).FailCallback != null) { ((GetClassifiersReq)req).FailCallback(resp.Error, customData); } } }
private void GetClassifiers(Classifiers classifiers) { bool bFound = false; foreach (var c in classifiers.classifiers) { if (c.name.ToLower().StartsWith(ClassifierName.ToLower())) { // now get the classifier details.. bFound = Service.GetClassifier(c.classifier_id, GetClassifier); break; } } if (!bFound) { Log.Error("Natural Language Classifier", "Fail to find classifier {0}", ClassifierName); Callback(null); } }
private void OnCheckServices(Classifiers classifiers) { if (m_Callback != null) { if (classifiers.classifiers.Length > 0) { foreach (var classifier in classifiers.classifiers) { // check the status of one classifier, if it's listed as "Unavailable" then fail if (!m_Service.GetClassifier(classifier.classifier_id, OnCheckService)) { OnFailure("Failed to call GetClassifier()"); break; } else { m_GetClassifierCount += 1; } } } else { if (m_Callback != null && m_Callback.Target != null) { m_Callback(SERVICE_ID, true); // no classifiers to check, just return success then.. } } } else { if (m_Callback != null && m_Callback.Target != null) { m_Callback(SERVICE_ID, false); } } }