Search in sources :

Example 1 with UpdateConfigurationOptions

use of com.ibm.watson.discovery.v1.model.UpdateConfigurationOptions in project java-sdk by watson-developer-cloud.

the class DiscoveryTest method testUpdateConfigurationWOptions.

// Test the updateConfiguration operation with a valid options model parameter
@Test
public void testUpdateConfigurationWOptions() throws Throwable {
    // Register a mock response
    String mockResponseBody = "{\"configuration_id\": \"configurationId\", \"name\": \"name\", \"created\": \"2019-01-01T12:00:00.000Z\", \"updated\": \"2019-01-01T12:00:00.000Z\", \"description\": \"description\", \"conversions\": {\"pdf\": {\"heading\": {\"fonts\": [{\"level\": 5, \"min_size\": 7, \"max_size\": 7, \"bold\": true, \"italic\": true, \"name\": \"name\"}]}}, \"word\": {\"heading\": {\"fonts\": [{\"level\": 5, \"min_size\": 7, \"max_size\": 7, \"bold\": true, \"italic\": true, \"name\": \"name\"}], \"styles\": [{\"level\": 5, \"names\": [\"names\"]}]}}, \"html\": {\"exclude_tags_completely\": [\"excludeTagsCompletely\"], \"exclude_tags_keep_content\": [\"excludeTagsKeepContent\"], \"keep_content\": {\"xpaths\": [\"xpaths\"]}, \"exclude_content\": {\"xpaths\": [\"xpaths\"]}, \"keep_tag_attributes\": [\"keepTagAttributes\"], \"exclude_tag_attributes\": [\"excludeTagAttributes\"]}, \"segment\": {\"enabled\": false, \"selector_tags\": [\"selectorTags\"], \"annotated_fields\": [\"annotatedFields\"]}, \"json_normalizations\": [{\"operation\": \"copy\", \"source_field\": \"sourceField\", \"destination_field\": \"destinationField\"}], \"image_text_recognition\": true}, \"enrichments\": [{\"description\": \"description\", \"destination_field\": \"destinationField\", \"source_field\": \"sourceField\", \"overwrite\": false, \"enrichment\": \"enrichment\", \"ignore_downstream_errors\": false, \"options\": {\"features\": {\"keywords\": {\"sentiment\": false, \"emotion\": false, \"limit\": 5}, \"entities\": {\"sentiment\": false, \"emotion\": false, \"limit\": 5, \"mentions\": true, \"mention_types\": true, \"sentence_locations\": false, \"model\": \"model\"}, \"sentiment\": {\"document\": true, \"targets\": [\"target\"]}, \"emotion\": {\"document\": true, \"targets\": [\"target\"]}, \"categories\": {\"mapKey\": \"anyValue\"}, \"semantic_roles\": {\"entities\": true, \"keywords\": true, \"limit\": 5}, \"relations\": {\"model\": \"model\"}, \"concepts\": {\"limit\": 5}}, \"language\": \"ar\", \"model\": \"model\"}}], \"normalizations\": [{\"operation\": \"copy\", \"source_field\": \"sourceField\", \"destination_field\": \"destinationField\"}], \"source\": {\"type\": \"box\", \"credential_id\": \"credentialId\", \"schedule\": {\"enabled\": true, \"time_zone\": \"America/New_York\", \"frequency\": \"daily\"}, \"options\": {\"folders\": [{\"owner_user_id\": \"ownerUserId\", \"folder_id\": \"folderId\", \"limit\": 5}], \"objects\": [{\"name\": \"name\", \"limit\": 5}], \"site_collections\": [{\"site_collection_path\": \"siteCollectionPath\", \"limit\": 5}], \"urls\": [{\"url\": \"url\", \"limit_to_starting_hosts\": true, \"crawl_speed\": \"normal\", \"allow_untrusted_certificate\": false, \"maximum_hops\": 11, \"request_timeout\": 14, \"override_robots_txt\": false, \"blacklist\": [\"blacklist\"]}], \"buckets\": [{\"name\": \"name\", \"limit\": 5}], \"crawl_all_buckets\": false}}}";
    String updateConfigurationPath = "/v1/environments/testString/configurations/testString";
    server.enqueue(new MockResponse().setHeader("Content-type", "application/json").setResponseCode(200).setBody(mockResponseBody));
    // Construct an instance of the FontSetting model
    FontSetting fontSettingModel = new FontSetting.Builder().level(Long.valueOf("26")).minSize(Long.valueOf("26")).maxSize(Long.valueOf("26")).bold(true).italic(true).name("testString").build();
    // Construct an instance of the PdfHeadingDetection model
    PdfHeadingDetection pdfHeadingDetectionModel = new PdfHeadingDetection.Builder().fonts(new java.util.ArrayList<FontSetting>(java.util.Arrays.asList(fontSettingModel))).build();
    // Construct an instance of the PdfSettings model
    PdfSettings pdfSettingsModel = new PdfSettings.Builder().heading(pdfHeadingDetectionModel).build();
    // Construct an instance of the WordStyle model
    WordStyle wordStyleModel = new WordStyle.Builder().level(Long.valueOf("26")).names(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))).build();
    // Construct an instance of the WordHeadingDetection model
    WordHeadingDetection wordHeadingDetectionModel = new WordHeadingDetection.Builder().fonts(new java.util.ArrayList<FontSetting>(java.util.Arrays.asList(fontSettingModel))).styles(new java.util.ArrayList<WordStyle>(java.util.Arrays.asList(wordStyleModel))).build();
    // Construct an instance of the WordSettings model
    WordSettings wordSettingsModel = new WordSettings.Builder().heading(wordHeadingDetectionModel).build();
    // Construct an instance of the XPathPatterns model
    XPathPatterns xPathPatternsModel = new XPathPatterns.Builder().xpaths(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))).build();
    // Construct an instance of the HtmlSettings model
    HtmlSettings htmlSettingsModel = new HtmlSettings.Builder().excludeTagsCompletely(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))).excludeTagsKeepContent(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))).keepContent(xPathPatternsModel).excludeContent(xPathPatternsModel).keepTagAttributes(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))).excludeTagAttributes(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))).build();
    // Construct an instance of the SegmentSettings model
    SegmentSettings segmentSettingsModel = new SegmentSettings.Builder().enabled(false).selectorTags(new java.util.ArrayList<String>(java.util.Arrays.asList("h1", "h2"))).annotatedFields(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))).build();
    // Construct an instance of the NormalizationOperation model
    NormalizationOperation normalizationOperationModel = new NormalizationOperation.Builder().operation("copy").sourceField("testString").destinationField("testString").build();
    // Construct an instance of the Conversions model
    Conversions conversionsModel = new Conversions.Builder().pdf(pdfSettingsModel).word(wordSettingsModel).html(htmlSettingsModel).segment(segmentSettingsModel).jsonNormalizations(new java.util.ArrayList<NormalizationOperation>(java.util.Arrays.asList(normalizationOperationModel))).imageTextRecognition(true).build();
    // Construct an instance of the NluEnrichmentKeywords model
    NluEnrichmentKeywords nluEnrichmentKeywordsModel = new NluEnrichmentKeywords.Builder().sentiment(true).emotion(true).limit(Long.valueOf("26")).build();
    // Construct an instance of the NluEnrichmentEntities model
    NluEnrichmentEntities nluEnrichmentEntitiesModel = new NluEnrichmentEntities.Builder().sentiment(true).emotion(true).limit(Long.valueOf("26")).mentions(true).mentionTypes(true).sentenceLocations(true).model("testString").build();
    // Construct an instance of the NluEnrichmentSentiment model
    NluEnrichmentSentiment nluEnrichmentSentimentModel = new NluEnrichmentSentiment.Builder().document(true).targets(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))).build();
    // Construct an instance of the NluEnrichmentEmotion model
    NluEnrichmentEmotion nluEnrichmentEmotionModel = new NluEnrichmentEmotion.Builder().document(true).targets(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))).build();
    // Construct an instance of the NluEnrichmentSemanticRoles model
    NluEnrichmentSemanticRoles nluEnrichmentSemanticRolesModel = new NluEnrichmentSemanticRoles.Builder().entities(true).keywords(true).limit(Long.valueOf("26")).build();
    // Construct an instance of the NluEnrichmentRelations model
    NluEnrichmentRelations nluEnrichmentRelationsModel = new NluEnrichmentRelations.Builder().model("testString").build();
    // Construct an instance of the NluEnrichmentConcepts model
    NluEnrichmentConcepts nluEnrichmentConceptsModel = new NluEnrichmentConcepts.Builder().limit(Long.valueOf("26")).build();
    // Construct an instance of the NluEnrichmentFeatures model
    NluEnrichmentFeatures nluEnrichmentFeaturesModel = new NluEnrichmentFeatures.Builder().keywords(nluEnrichmentKeywordsModel).entities(nluEnrichmentEntitiesModel).sentiment(nluEnrichmentSentimentModel).emotion(nluEnrichmentEmotionModel).categories(new java.util.HashMap<String, Object>() {

        {
            put("foo", "testString");
        }
    }).semanticRoles(nluEnrichmentSemanticRolesModel).relations(nluEnrichmentRelationsModel).concepts(nluEnrichmentConceptsModel).build();
    // Construct an instance of the EnrichmentOptions model
    EnrichmentOptions enrichmentOptionsModel = new EnrichmentOptions.Builder().features(nluEnrichmentFeaturesModel).language("ar").model("testString").build();
    // Construct an instance of the Enrichment model
    Enrichment enrichmentModel = new Enrichment.Builder().description("testString").destinationField("testString").sourceField("testString").overwrite(false).enrichment("testString").ignoreDownstreamErrors(false).options(enrichmentOptionsModel).build();
    // Construct an instance of the SourceSchedule model
    SourceSchedule sourceScheduleModel = new SourceSchedule.Builder().enabled(true).timeZone("America/New_York").frequency("daily").build();
    // Construct an instance of the SourceOptionsFolder model
    SourceOptionsFolder sourceOptionsFolderModel = new SourceOptionsFolder.Builder().ownerUserId("testString").folderId("testString").limit(Long.valueOf("26")).build();
    // Construct an instance of the SourceOptionsObject model
    SourceOptionsObject sourceOptionsObjectModel = new SourceOptionsObject.Builder().name("testString").limit(Long.valueOf("26")).build();
    // Construct an instance of the SourceOptionsSiteColl model
    SourceOptionsSiteColl sourceOptionsSiteCollModel = new SourceOptionsSiteColl.Builder().siteCollectionPath("testString").limit(Long.valueOf("26")).build();
    // Construct an instance of the SourceOptionsWebCrawl model
    SourceOptionsWebCrawl sourceOptionsWebCrawlModel = new SourceOptionsWebCrawl.Builder().url("testString").limitToStartingHosts(true).crawlSpeed("normal").allowUntrustedCertificate(false).maximumHops(Long.valueOf("26")).requestTimeout(Long.valueOf("26")).overrideRobotsTxt(false).blacklist(new java.util.ArrayList<String>(java.util.Arrays.asList("testString"))).build();
    // Construct an instance of the SourceOptionsBuckets model
    SourceOptionsBuckets sourceOptionsBucketsModel = new SourceOptionsBuckets.Builder().name("testString").limit(Long.valueOf("26")).build();
    // Construct an instance of the SourceOptions model
    SourceOptions sourceOptionsModel = new SourceOptions.Builder().folders(new java.util.ArrayList<SourceOptionsFolder>(java.util.Arrays.asList(sourceOptionsFolderModel))).objects(new java.util.ArrayList<SourceOptionsObject>(java.util.Arrays.asList(sourceOptionsObjectModel))).siteCollections(new java.util.ArrayList<SourceOptionsSiteColl>(java.util.Arrays.asList(sourceOptionsSiteCollModel))).urls(new java.util.ArrayList<SourceOptionsWebCrawl>(java.util.Arrays.asList(sourceOptionsWebCrawlModel))).buckets(new java.util.ArrayList<SourceOptionsBuckets>(java.util.Arrays.asList(sourceOptionsBucketsModel))).crawlAllBuckets(true).build();
    // Construct an instance of the Source model
    Source sourceModel = new Source.Builder().type("box").credentialId("testString").schedule(sourceScheduleModel).options(sourceOptionsModel).build();
    // Construct an instance of the UpdateConfigurationOptions model
    UpdateConfigurationOptions updateConfigurationOptionsModel = new UpdateConfigurationOptions.Builder().environmentId("testString").configurationId("testString").name("testString").description("testString").conversions(conversionsModel).enrichments(new java.util.ArrayList<Enrichment>(java.util.Arrays.asList(enrichmentModel))).normalizations(new java.util.ArrayList<NormalizationOperation>(java.util.Arrays.asList(normalizationOperationModel))).source(sourceModel).build();
    // Invoke updateConfiguration() with a valid options model and verify the result
    Response<Configuration> response = discoveryService.updateConfiguration(updateConfigurationOptionsModel).execute();
    assertNotNull(response);
    Configuration responseObj = response.getResult();
    assertNotNull(responseObj);
    // Verify the contents of the request sent to the mock server
    RecordedRequest request = server.takeRequest();
    assertNotNull(request);
    assertEquals(request.getMethod(), "PUT");
    // Verify request path
    String parsedPath = TestUtilities.parseReqPath(request);
    assertEquals(parsedPath, updateConfigurationPath);
    // Verify query params
    Map<String, String> query = TestUtilities.parseQueryString(request);
    assertNotNull(query);
    assertEquals(query.get("version"), "testString");
}
Also used : SourceOptionsSiteColl(com.ibm.watson.discovery.v1.model.SourceOptionsSiteColl) NluEnrichmentEntities(com.ibm.watson.discovery.v1.model.NluEnrichmentEntities) Configuration(com.ibm.watson.discovery.v1.model.Configuration) FontSetting(com.ibm.watson.discovery.v1.model.FontSetting) NluEnrichmentFeatures(com.ibm.watson.discovery.v1.model.NluEnrichmentFeatures) SourceSchedule(com.ibm.watson.discovery.v1.model.SourceSchedule) SourceOptionsObject(com.ibm.watson.discovery.v1.model.SourceOptionsObject) HtmlSettings(com.ibm.watson.discovery.v1.model.HtmlSettings) EnrichmentOptions(com.ibm.watson.discovery.v1.model.EnrichmentOptions) UpdateConfigurationOptions(com.ibm.watson.discovery.v1.model.UpdateConfigurationOptions) NluEnrichmentKeywords(com.ibm.watson.discovery.v1.model.NluEnrichmentKeywords) MockResponse(okhttp3.mockwebserver.MockResponse) SourceOptionsBuckets(com.ibm.watson.discovery.v1.model.SourceOptionsBuckets) NluEnrichmentSentiment(com.ibm.watson.discovery.v1.model.NluEnrichmentSentiment) NluEnrichmentSemanticRoles(com.ibm.watson.discovery.v1.model.NluEnrichmentSemanticRoles) SourceOptions(com.ibm.watson.discovery.v1.model.SourceOptions) Conversions(com.ibm.watson.discovery.v1.model.Conversions) WordSettings(com.ibm.watson.discovery.v1.model.WordSettings) SourceOptionsObject(com.ibm.watson.discovery.v1.model.SourceOptionsObject) Enrichment(com.ibm.watson.discovery.v1.model.Enrichment) SourceOptionsFolder(com.ibm.watson.discovery.v1.model.SourceOptionsFolder) XPathPatterns(com.ibm.watson.discovery.v1.model.XPathPatterns) NluEnrichmentConcepts(com.ibm.watson.discovery.v1.model.NluEnrichmentConcepts) Source(com.ibm.watson.discovery.v1.model.Source) NluEnrichmentRelations(com.ibm.watson.discovery.v1.model.NluEnrichmentRelations) PdfHeadingDetection(com.ibm.watson.discovery.v1.model.PdfHeadingDetection) PdfSettings(com.ibm.watson.discovery.v1.model.PdfSettings) NluEnrichmentEmotion(com.ibm.watson.discovery.v1.model.NluEnrichmentEmotion) RecordedRequest(okhttp3.mockwebserver.RecordedRequest) WordHeadingDetection(com.ibm.watson.discovery.v1.model.WordHeadingDetection) NormalizationOperation(com.ibm.watson.discovery.v1.model.NormalizationOperation) WordStyle(com.ibm.watson.discovery.v1.model.WordStyle) SegmentSettings(com.ibm.watson.discovery.v1.model.SegmentSettings) SourceOptionsWebCrawl(com.ibm.watson.discovery.v1.model.SourceOptionsWebCrawl) Test(org.testng.annotations.Test)

Example 2 with UpdateConfigurationOptions

use of com.ibm.watson.discovery.v1.model.UpdateConfigurationOptions in project java-sdk by watson-developer-cloud.

the class Discovery method updateConfiguration.

/**
 * Update a configuration.
 *
 * <p>Replaces an existing configuration. * Completely replaces the original configuration. * The
 * **configuration_id**, **updated**, and **created** fields are accepted in the request, but they
 * are ignored, and an error is not generated. It is also acceptable for users to submit an
 * updated configuration with none of the three properties. * Documents are processed with a
 * snapshot of the configuration as it was at the time the document was submitted to be ingested.
 * This means that already submitted documents will not see any updates made to the configuration.
 *
 * @param updateConfigurationOptions the {@link UpdateConfigurationOptions} containing the options
 *     for the call
 * @return a {@link ServiceCall} with a result of type {@link Configuration}
 */
public ServiceCall<Configuration> updateConfiguration(UpdateConfigurationOptions updateConfigurationOptions) {
    com.ibm.cloud.sdk.core.util.Validator.notNull(updateConfigurationOptions, "updateConfigurationOptions cannot be null");
    Map<String, String> pathParamsMap = new HashMap<String, String>();
    pathParamsMap.put("environment_id", updateConfigurationOptions.environmentId());
    pathParamsMap.put("configuration_id", updateConfigurationOptions.configurationId());
    RequestBuilder builder = RequestBuilder.put(RequestBuilder.resolveRequestUrl(getServiceUrl(), "/v1/environments/{environment_id}/configurations/{configuration_id}", pathParamsMap));
    Map<String, String> sdkHeaders = SdkCommon.getSdkHeaders("discovery", "v1", "updateConfiguration");
    for (Entry<String, String> header : sdkHeaders.entrySet()) {
        builder.header(header.getKey(), header.getValue());
    }
    builder.header("Accept", "application/json");
    builder.query("version", String.valueOf(this.version));
    final JsonObject contentJson = new JsonObject();
    contentJson.addProperty("name", updateConfigurationOptions.name());
    if (updateConfigurationOptions.description() != null) {
        contentJson.addProperty("description", updateConfigurationOptions.description());
    }
    if (updateConfigurationOptions.conversions() != null) {
        contentJson.add("conversions", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(updateConfigurationOptions.conversions()));
    }
    if (updateConfigurationOptions.enrichments() != null) {
        contentJson.add("enrichments", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(updateConfigurationOptions.enrichments()));
    }
    if (updateConfigurationOptions.normalizations() != null) {
        contentJson.add("normalizations", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(updateConfigurationOptions.normalizations()));
    }
    if (updateConfigurationOptions.source() != null) {
        contentJson.add("source", com.ibm.cloud.sdk.core.util.GsonSingleton.getGson().toJsonTree(updateConfigurationOptions.source()));
    }
    builder.bodyJson(contentJson);
    ResponseConverter<Configuration> responseConverter = ResponseConverterUtils.getValue(new com.google.gson.reflect.TypeToken<Configuration>() {
    }.getType());
    return createServiceCall(builder.build(), responseConverter);
}
Also used : RequestBuilder(com.ibm.cloud.sdk.core.http.RequestBuilder) Configuration(com.ibm.watson.discovery.v1.model.Configuration) HashMap(java.util.HashMap) JsonObject(com.google.gson.JsonObject)

Aggregations

Configuration (com.ibm.watson.discovery.v1.model.Configuration)2 JsonObject (com.google.gson.JsonObject)1 RequestBuilder (com.ibm.cloud.sdk.core.http.RequestBuilder)1 Conversions (com.ibm.watson.discovery.v1.model.Conversions)1 Enrichment (com.ibm.watson.discovery.v1.model.Enrichment)1 EnrichmentOptions (com.ibm.watson.discovery.v1.model.EnrichmentOptions)1 FontSetting (com.ibm.watson.discovery.v1.model.FontSetting)1 HtmlSettings (com.ibm.watson.discovery.v1.model.HtmlSettings)1 NluEnrichmentConcepts (com.ibm.watson.discovery.v1.model.NluEnrichmentConcepts)1 NluEnrichmentEmotion (com.ibm.watson.discovery.v1.model.NluEnrichmentEmotion)1 NluEnrichmentEntities (com.ibm.watson.discovery.v1.model.NluEnrichmentEntities)1 NluEnrichmentFeatures (com.ibm.watson.discovery.v1.model.NluEnrichmentFeatures)1 NluEnrichmentKeywords (com.ibm.watson.discovery.v1.model.NluEnrichmentKeywords)1 NluEnrichmentRelations (com.ibm.watson.discovery.v1.model.NluEnrichmentRelations)1 NluEnrichmentSemanticRoles (com.ibm.watson.discovery.v1.model.NluEnrichmentSemanticRoles)1 NluEnrichmentSentiment (com.ibm.watson.discovery.v1.model.NluEnrichmentSentiment)1 NormalizationOperation (com.ibm.watson.discovery.v1.model.NormalizationOperation)1 PdfHeadingDetection (com.ibm.watson.discovery.v1.model.PdfHeadingDetection)1 PdfSettings (com.ibm.watson.discovery.v1.model.PdfSettings)1 SegmentSettings (com.ibm.watson.discovery.v1.model.SegmentSettings)1