private void OnClassifyElements(ClassifyReturn response, Dictionary <string, object> customData) { Log.Debug("TestCompareComplyV1.OnClassifyElements()", "ClassifyElements Response: {0}", customData["json"].ToString()); Test(response != null); Test(response.Document.Title == "Microsoft Word - contract_A.doc"); classifyElementsTested = true; }
public IEnumerator TestClassifyElements() { Log.Debug("CompareComplyServiceV1IntegrationTests", "Attempting to ClassifyElements..."); ClassifyReturn classifyElementsResponse = null; using (FileStream fs = File.OpenRead(contractAFilepath)) { using (MemoryStream ms = new MemoryStream()) { fs.CopyTo(ms); service.ClassifyElements( callback: (DetailedResponse <ClassifyReturn> response, IBMError error) => { Log.Debug("CompareComplyServiceV1IntegrationTests", "ClassifyElements result: {0}", response.Response); classifyElementsResponse = response.Result; Assert.IsNotNull(classifyElementsResponse); //Assert.IsNotNull(classifyElementsResponse.ContractType); Assert.IsNotNull(classifyElementsResponse.Elements); Assert.IsNull(error); }, file: ms, model: "contracts", fileContentType: Utility.GetMimeType(Path.GetExtension(contractAFilepath)) ); while (classifyElementsResponse == null) { yield return(null); } } } }
/// <summary> /// Classify the elements of a document. /// /// Uploads a file. The response includes an analysis of the document's structural and semantic elements. /// </summary> /// <param name="file">The file to classify.</param> /// <param name="modelId">The analysis model to be used by the service. For the `/v1/element_classification` and /// `/v1/comparison` methods, the default is `contracts`. For the `/v1/tables` method, the default is `tables`. /// These defaults apply to the standalone methods as well as to the methods' use in batch-processing requests. /// (optional)</param> /// <param name="fileContentType">The content type of file. (optional)</param> /// <param name="customData">Custom data object to pass data including custom request headers.</param> /// <returns><see cref="ClassifyReturn" />ClassifyReturn</returns> public ClassifyReturn ClassifyElements(System.IO.FileStream file, string modelId = null, string fileContentType = null, Dictionary <string, object> customData = null) { if (file == null) { throw new ArgumentNullException(nameof(file)); } if (string.IsNullOrEmpty(VersionDate)) { throw new ArgumentNullException("versionDate cannot be null."); } ClassifyReturn result = null; try { var formData = new MultipartFormDataContent(); if (file != null) { var fileContent = new ByteArrayContent((file as Stream).ReadAllBytes()); System.Net.Http.Headers.MediaTypeHeaderValue contentType; System.Net.Http.Headers.MediaTypeHeaderValue.TryParse(fileContentType, out contentType); fileContent.Headers.ContentType = contentType; formData.Add(fileContent, "file", file.Name); } IClient client = this.Client.WithAuthentication(_tokenManager.GetToken()); var restRequest = client.PostAsync($"{this.Endpoint}/v1/element_classification"); restRequest.WithArgument("version", VersionDate); if (!string.IsNullOrEmpty(modelId)) { restRequest.WithArgument("model_id", modelId); } restRequest.WithBodyContent(formData); if (customData != null) { restRequest.WithCustomData(customData); } restRequest.WithHeader("X-IBMCloud-SDK-Analytics", "service_name=compare-comply;service_version=v1;operation_id=ClassifyElements"); result = restRequest.As <ClassifyReturn>().Result; if (result == null) { result = new ClassifyReturn(); } result.CustomData = restRequest.CustomData; } catch (AggregateException ae) { throw ae.Flatten(); } return(result); }
private void OnClassifyElements(ClassifyReturn response, Dictionary <string, object> customData) { Log.Debug("ExampleCompareComplyV1.OnClassifyElements()", "ClassifyElements Response: {0}", customData["json"].ToString()); classifyElementsTested = true; }