diff --git a/.travis.yml b/.travis.yml
index 215d2572edb..1769051582c 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -34,6 +34,8 @@ script:
- ./gradlew test
- ./gradlew codeCoverageReport
- ./gradlew docs > /dev/null # build the javadoc
+ - ./gradlew checkstyleMain
+ - ./gradlew checkstyleTest
after_success:
- bash <(curl -s https://codecov.io/bash)
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 95358608e27..31460366ce8 100755
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,19 @@
Change Log
==========
+## Version 3.7.2
+
+_2017-04-07_
+
+ * New: Provide a specific document Id when creating a document d581c3f
+ * New: NLU: Add model for disambiguation and property in EntitiesResults 8acb411
+ * New: Add test for disambiguation info 9328c5f
+ * Fix: Discovery: create or update a document from an InputStream and optionally spec… … ab2f413
+ * Fix: Add README.md for Natural Language Understanding 4e53c8f
+ * Fix: 👕 Checkstyle Verified a95c68d
+ * Fix: TTS Synthesize using POST, fixes #635 and #602 Verified 5ae0d24
+ * Fix: Language translator, update service name Verified 37abc86
+
## Version 3.7.1
_2017-03-31_
diff --git a/README.md b/README.md
index 46593c537f2..cead2e48e09 100644
--- a/README.md
+++ b/README.md
@@ -54,7 +54,7 @@ All the services:
com.ibm.watson.developer_cloud
java-sdk
- 3.7.1
+ 3.7.2
```
@@ -63,7 +63,7 @@ Only Retrieve and Rank:
com.ibm.watson.developer_cloud
retrieve-and-rank
- 3.7.1
+ 3.7.2
```
@@ -71,17 +71,17 @@ Only Retrieve and Rank:
All the services:
```gradle
-'com.ibm.watson.developer_cloud:java-sdk:3.7.1'
+'com.ibm.watson.developer_cloud:java-sdk:3.7.2'
```
Only Retrieve and Rank:
```gradle
-'com.ibm.watson.developer_cloud:retrieve-and-rank:3.7.1'
+'com.ibm.watson.developer_cloud:retrieve-and-rank:3.7.2'
```
Only Visual Recognition:
```gradle
-'com.ibm.watson.developer_cloud:visual-recognition:3.7.1'
+'com.ibm.watson.developer_cloud:visual-recognition:3.7.2'
```
Snapshots of the development version are available in [Sonatype's snapshots repository][sonatype_snapshots].
@@ -286,7 +286,7 @@ Gradle:
```sh
$ cd java-sdk
- $ gradle jar # build jar file (build/libs/watson-developer-cloud-3.7.1.jar)
+ $ gradle jar # build jar file (build/libs/watson-developer-cloud-3.7.2.jar)
$ gradle test # run tests
$ gradle check # performs quality checks on source files and generates reports
$ gradle testReport # run tests and generate the aggregated test report (build/reports/allTests)
@@ -323,4 +323,4 @@ See [CONTRIBUTING.md](.github/CONTRIBUTING.md).
[apache_maven]: http://maven.apache.org/
[sonatype_snapshots]: https://oss.sonatype.org/content/repositories/snapshots/com/ibm/watson/developer_cloud/
-[jar]: https://github.com/watson-developer-cloud/java-sdk/releases/download/java-sdk-3.7.1/java-sdk-3.7.1-jar-with-dependencies.jar
+[jar]: https://github.com/watson-developer-cloud/java-sdk/releases/download/java-sdk-3.7.2/java-sdk-3.7.2-jar-with-dependencies.jar
diff --git a/alchemy/README.md b/alchemy/README.md
index 80e3ad7d398..8e5bbfd4115 100644
--- a/alchemy/README.md
+++ b/alchemy/README.md
@@ -7,13 +7,13 @@
com.ibm.watson.developer_cloud
alchemy
- 3.7.1
+ 3.7.2
```
##### Gradle
```gradle
-'com.ibm.watson.developer_cloud:alchemy:3.7.1'
+'com.ibm.watson.developer_cloud:alchemy:3.7.2'
```
## Alchemy Language
diff --git a/alchemy/build.gradle b/alchemy/build.gradle
index c359a9fb9a8..79388f8f6eb 100644
--- a/alchemy/build.gradle
+++ b/alchemy/build.gradle
@@ -51,6 +51,7 @@ signArchives {
checkstyle {
configFile = rootProject.file('checkstyle.xml')
+ ignoreFailures = false
}
dependencies {
diff --git a/alchemy/src/test/java/com/ibm/watson/developer_cloud/alchemy/v1/AlchemyLanguageIT.java b/alchemy/src/test/java/com/ibm/watson/developer_cloud/alchemy/v1/AlchemyLanguageIT.java
index 95b08ba79eb..1f17ecdbb22 100755
--- a/alchemy/src/test/java/com/ibm/watson/developer_cloud/alchemy/v1/AlchemyLanguageIT.java
+++ b/alchemy/src/test/java/com/ibm/watson/developer_cloud/alchemy/v1/AlchemyLanguageIT.java
@@ -23,6 +23,7 @@
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
+import org.junit.runner.RunWith;
import com.ibm.watson.developer_cloud.WatsonServiceTest;
import com.ibm.watson.developer_cloud.alchemy.v1.model.CombinedResults;
@@ -45,10 +46,12 @@
import com.ibm.watson.developer_cloud.alchemy.v1.model.TypedEntity;
import com.ibm.watson.developer_cloud.alchemy.v1.model.TypedRelation;
import com.ibm.watson.developer_cloud.alchemy.v1.model.TypedRelations;
+import com.ibm.watson.developer_cloud.util.RetryRunner;
/**
* Alchemy Language Integration tests.
*/
+@RunWith(RetryRunner.class)
public class AlchemyLanguageIT extends WatsonServiceTest {
private static final String testURL =
diff --git a/alchemy/src/test/java/com/ibm/watson/developer_cloud/alchemy/v1/AlchemyVisionIT.java b/alchemy/src/test/java/com/ibm/watson/developer_cloud/alchemy/v1/AlchemyVisionIT.java
index 2ee64b71b30..362b8d6c02f 100644
--- a/alchemy/src/test/java/com/ibm/watson/developer_cloud/alchemy/v1/AlchemyVisionIT.java
+++ b/alchemy/src/test/java/com/ibm/watson/developer_cloud/alchemy/v1/AlchemyVisionIT.java
@@ -19,6 +19,7 @@
import org.junit.Assume;
import org.junit.Before;
import org.junit.Test;
+import org.junit.runner.RunWith;
import com.ibm.watson.developer_cloud.WatsonServiceTest;
import com.ibm.watson.developer_cloud.alchemy.v1.model.ImageFaces;
@@ -28,12 +29,14 @@
import com.ibm.watson.developer_cloud.alchemy.v1.model.ImageSceneText;
import com.ibm.watson.developer_cloud.alchemy.v1.model.ImageSceneTextLine;
import com.ibm.watson.developer_cloud.alchemy.v1.model.ImageSceneTextLine.Word;
+import com.ibm.watson.developer_cloud.util.RetryRunner;
import okhttp3.HttpUrl;
/**
* The Class AlchemyVisionTest.
*/
+@RunWith(RetryRunner.class)
public class AlchemyVisionIT extends WatsonServiceTest {
private static final String IMAGE_OBAMA = "src/test/resources/alchemy/obama.jpg";
diff --git a/build.gradle b/build.gradle
index 278ed990bb1..bff5f8770b9 100644
--- a/build.gradle
+++ b/build.gradle
@@ -17,6 +17,19 @@ javadoc {
source = 'src/main/java'
}
+checkstyle {
+ ignoreFailures = false
+}
+
+checkstyleMain {
+ ignoreFailures = false
+}
+
+checkstyleTest {
+ ignoreFailures = false
+}
+
+
task docs(type: Javadoc) {
destinationDir = file("$buildDir/docs/all")
}
@@ -45,8 +58,12 @@ allprojects {
subprojects {
+ checkstyleMain {
+ ignoreFailures = false
+ }
+
checkstyleTest {
- ignoreFailures = true
+ ignoreFailures = false
}
afterEvaluate {
diff --git a/conversation/README.md b/conversation/README.md
index 010e61edf55..71d31b5913d 100644
--- a/conversation/README.md
+++ b/conversation/README.md
@@ -7,13 +7,13 @@
com.ibm.watson.developer_cloud
conversation
- 3.7.1
+ 3.7.2
```
##### Gradle
```gradle
-'com.ibm.watson.developer_cloud:conversation:3.7.1'
+'com.ibm.watson.developer_cloud:conversation:3.7.2'
```
## Usage
diff --git a/conversation/build.gradle b/conversation/build.gradle
index 6ae2f4f4e6a..8144c7cc135 100644
--- a/conversation/build.gradle
+++ b/conversation/build.gradle
@@ -51,6 +51,7 @@ signArchives {
checkstyle {
configFile = rootProject.file('checkstyle.xml')
+ ignoreFailures = false
}
dependencies {
diff --git a/conversation/src/test/java/com/ibm/watson/developer_cloud/conversation/v1/ConversationServiceIT.java b/conversation/src/test/java/com/ibm/watson/developer_cloud/conversation/v1/ConversationServiceIT.java
index 0c6af561bb7..bd367122fb8 100644
--- a/conversation/src/test/java/com/ibm/watson/developer_cloud/conversation/v1/ConversationServiceIT.java
+++ b/conversation/src/test/java/com/ibm/watson/developer_cloud/conversation/v1/ConversationServiceIT.java
@@ -19,15 +19,18 @@
import org.junit.Assume;
import org.junit.Before;
import org.junit.Test;
+import org.junit.runner.RunWith;
import com.ibm.watson.developer_cloud.WatsonServiceTest;
import com.ibm.watson.developer_cloud.conversation.v1.model.Intent;
import com.ibm.watson.developer_cloud.conversation.v1.model.MessageRequest;
import com.ibm.watson.developer_cloud.conversation.v1.model.MessageResponse;
+import com.ibm.watson.developer_cloud.util.RetryRunner;
/**
* Integration test for the {@link ConversationService}.
*/
+@RunWith(RetryRunner.class)
public class ConversationServiceIT extends WatsonServiceTest {
private ConversationService service;
diff --git a/core/build.gradle b/core/build.gradle
index e0cce6588b2..d3603ea02f5 100644
--- a/core/build.gradle
+++ b/core/build.gradle
@@ -49,13 +49,10 @@ signArchives {
}
}
-checkstyleTest {
- ignoreFailures = true
-}
checkstyle {
configFile = rootProject.file('checkstyle.xml')
- ignoreFailures = true
+ ignoreFailures = false
}
task testJar(type: Jar) {
diff --git a/core/src/main/java/com/ibm/watson/developer_cloud/service/WatsonService.java b/core/src/main/java/com/ibm/watson/developer_cloud/service/WatsonService.java
index d1e7e302f21..a6063b671b4 100644
--- a/core/src/main/java/com/ibm/watson/developer_cloud/service/WatsonService.java
+++ b/core/src/main/java/com/ibm/watson/developer_cloud/service/WatsonService.java
@@ -134,7 +134,7 @@ protected OkHttpClient configureHttpClient() {
.build();
builder.connectionSpecs(Arrays.asList(spec, ConnectionSpec.CLEARTEXT));
-
+
return builder.build();
}
diff --git a/core/src/test/java/com/ibm/watson/developer_cloud/util/RetryRunner.java b/core/src/test/java/com/ibm/watson/developer_cloud/util/RetryRunner.java
new file mode 100644
index 00000000000..72cc3ba54d6
--- /dev/null
+++ b/core/src/test/java/com/ibm/watson/developer_cloud/util/RetryRunner.java
@@ -0,0 +1,113 @@
+/*
+ * Copyright 2017 IBM Corp. All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+package com.ibm.watson.developer_cloud.util;
+
+import java.util.logging.Logger;
+
+import org.junit.Ignore;
+import org.junit.internal.AssumptionViolatedException;
+import org.junit.internal.runners.model.EachTestNotifier;
+import org.junit.runner.Description;
+import org.junit.runner.notification.RunNotifier;
+import org.junit.runner.notification.StoppedByUserException;
+import org.junit.runners.BlockJUnit4ClassRunner;
+import org.junit.runners.model.FrameworkMethod;
+import org.junit.runners.model.InitializationError;
+import org.junit.runners.model.Statement;
+
+/**
+ * Junit Runner that retry tests. Useful when tests could fail due to network issues.
+ */
+public class RetryRunner extends BlockJUnit4ClassRunner {
+ private static final Logger LOG = Logger.getLogger(RetryRunner.class.getName());
+
+ private static final int RETRY_COUNT = 2;
+
+ /**
+ * Instantiates a new retry runner.
+ *
+ * @param clazz the class
+ * @throws InitializationError the initialization error
+ */
+ public RetryRunner(Class> clazz) throws InitializationError {
+ super(clazz);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.junit.runners.ParentRunner#run(org.junit.runner.notification.RunNotifier)
+ */
+ @Override
+ public void run(final RunNotifier notifier) {
+ EachTestNotifier testNotifier = new EachTestNotifier(notifier, getDescription());
+ Statement statement = classBlock(notifier);
+ try {
+ statement.evaluate();
+ } catch (AssumptionViolatedException ave) {
+ testNotifier.fireTestIgnored();
+ } catch (StoppedByUserException sbue) {
+ throw sbue;
+ } catch (Throwable t) {
+ LOG.warning("Retry class: " + getDescription().getDisplayName());
+ retry(testNotifier, statement, t, getDescription());
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.junit.runners.BlockJUnit4ClassRunner#runChild(org.junit.runners.model.FrameworkMethod,
+ * org.junit.runner.notification.RunNotifier)
+ */
+ @Override
+ protected void runChild(final FrameworkMethod method, RunNotifier notifier) {
+ Description description = describeChild(method);
+ if (method.getAnnotation(Ignore.class) != null) {
+ notifier.fireTestIgnored(description);
+ } else {
+ runTest(methodBlock(method), description, notifier);
+ }
+ }
+
+ private void runTest(Statement statement, Description description, RunNotifier notifier) {
+ EachTestNotifier eachNotifier = new EachTestNotifier(notifier, description);
+ eachNotifier.fireTestStarted();
+ try {
+ statement.evaluate();
+ } catch (AssumptionViolatedException e) {
+ eachNotifier.addFailedAssumption(e);
+ } catch (Throwable e) {
+ LOG.warning("Retry test: " + description.getDisplayName());
+ retry(eachNotifier, statement, e, description);
+ } finally {
+ eachNotifier.fireTestFinished();
+ }
+ }
+
+ private void retry(EachTestNotifier notifier, Statement statement, Throwable currentThrowable, Description info) {
+ int failedAttempts = 0;
+ Throwable caughtThrowable = currentThrowable;
+ while (RETRY_COUNT > failedAttempts) {
+ try {
+ LOG.warning("Retry attempt " + (failedAttempts + 1) + " for " + info.getDisplayName());
+ statement.evaluate();
+ return;
+ } catch (Throwable t) {
+ failedAttempts++;
+ caughtThrowable = t;
+ }
+ }
+ notifier.addFailure(caughtThrowable);
+ }
+}
diff --git a/core/src/test/java/com/ibm/watson/developer_cloud/util/WaitFor.java b/core/src/test/java/com/ibm/watson/developer_cloud/util/WaitFor.java
index b161c2ee557..4120bc59502 100644
--- a/core/src/test/java/com/ibm/watson/developer_cloud/util/WaitFor.java
+++ b/core/src/test/java/com/ibm/watson/developer_cloud/util/WaitFor.java
@@ -21,7 +21,9 @@
public class WaitFor {
- private WaitFor() {}
+ private WaitFor() {
+
+ }
/**
* Static method used to wait for a specific condition to be satisfied.
diff --git a/dialog/build.gradle b/dialog/build.gradle
index 05d7944b9da..89fb4be4299 100644
--- a/dialog/build.gradle
+++ b/dialog/build.gradle
@@ -49,11 +49,9 @@ signArchives {
}
}
-checkstyleTest {
- ignoreFailures = true
-}
checkstyle {
configFile = rootProject.file('checkstyle.xml')
+ ignoreFailures = false
}
task testJar(type: Jar) {
diff --git a/discovery/README.md b/discovery/README.md
index a41316b1cb0..cf3521ab2b1 100644
--- a/discovery/README.md
+++ b/discovery/README.md
@@ -7,13 +7,13 @@
com.ibm.watson.developer_cloud
discovery
- 3.7.1
+ 3.7.2
```
##### Gradle
```gradle
-'com.ibm.watson.developer_cloud:discovery:3.7.1'
+'com.ibm.watson.developer_cloud:discovery:3.7.2'
```
## Usage
diff --git a/discovery/build.gradle b/discovery/build.gradle
index c8f2e26897d..7a7e1f2fa50 100644
--- a/discovery/build.gradle
+++ b/discovery/build.gradle
@@ -50,12 +50,12 @@ signArchives {
}
checkstyleTest {
- ignoreFailures = true
+ ignoreFailures = false
}
checkstyle {
configFile = rootProject.file('checkstyle.xml')
- ignoreFailures = true
+ ignoreFailures = false
}
dependencies {
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/Discovery.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/Discovery.java
index 14fad62e703..f859f912b48 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/Discovery.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/Discovery.java
@@ -13,31 +13,60 @@
package com.ibm.watson.developer_cloud.discovery.v1;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import com.ibm.watson.developer_cloud.discovery.v1.model.collection.CollectionManager;
+import com.ibm.watson.developer_cloud.discovery.v1.model.collection.CreateCollectionRequest;
import com.ibm.watson.developer_cloud.discovery.v1.model.collection.CreateCollectionResponse;
import com.ibm.watson.developer_cloud.discovery.v1.model.collection.DeleteCollectionRequest;
import com.ibm.watson.developer_cloud.discovery.v1.model.collection.DeleteCollectionResponse;
+import com.ibm.watson.developer_cloud.discovery.v1.model.collection.GetCollectionRequest;
+import com.ibm.watson.developer_cloud.discovery.v1.model.collection.GetCollectionResponse;
import com.ibm.watson.developer_cloud.discovery.v1.model.collection.GetCollectionsRequest;
+import com.ibm.watson.developer_cloud.discovery.v1.model.collection.GetCollectionsResponse;
import com.ibm.watson.developer_cloud.discovery.v1.model.collection.field.GetCollectionFieldsRequest;
+import com.ibm.watson.developer_cloud.discovery.v1.model.collection.field.GetCollectionFieldsResponse;
+import com.ibm.watson.developer_cloud.discovery.v1.model.configuration.Configuration;
import com.ibm.watson.developer_cloud.discovery.v1.model.configuration.ConfigurationManager;
import com.ibm.watson.developer_cloud.discovery.v1.model.configuration.CreateConfigurationRequest;
+import com.ibm.watson.developer_cloud.discovery.v1.model.configuration.CreateConfigurationResponse;
+import com.ibm.watson.developer_cloud.discovery.v1.model.configuration.DeleteConfigurationRequest;
+import com.ibm.watson.developer_cloud.discovery.v1.model.configuration.DeleteConfigurationResponse;
import com.ibm.watson.developer_cloud.discovery.v1.model.configuration.GetConfigurationRequest;
import com.ibm.watson.developer_cloud.discovery.v1.model.configuration.GetConfigurationResponse;
import com.ibm.watson.developer_cloud.discovery.v1.model.configuration.GetConfigurationsRequest;
import com.ibm.watson.developer_cloud.discovery.v1.model.configuration.GetConfigurationsResponse;
+import com.ibm.watson.developer_cloud.discovery.v1.model.configuration.UpdateConfigurationRequest;
import com.ibm.watson.developer_cloud.discovery.v1.model.configuration.UpdateConfigurationResponse;
import com.ibm.watson.developer_cloud.discovery.v1.model.document.CreateDocumentRequest;
import com.ibm.watson.developer_cloud.discovery.v1.model.document.CreateDocumentResponse;
+import com.ibm.watson.developer_cloud.discovery.v1.model.document.DeleteDocumentRequest;
import com.ibm.watson.developer_cloud.discovery.v1.model.document.DeleteDocumentResponse;
+import com.ibm.watson.developer_cloud.discovery.v1.model.document.DocumentManager;
import com.ibm.watson.developer_cloud.discovery.v1.model.document.GetDocumentRequest;
import com.ibm.watson.developer_cloud.discovery.v1.model.document.GetDocumentResponse;
+import com.ibm.watson.developer_cloud.discovery.v1.model.document.UpdateDocumentRequest;
import com.ibm.watson.developer_cloud.discovery.v1.model.document.UpdateDocumentResponse;
import com.ibm.watson.developer_cloud.discovery.v1.model.environment.CreateEnvironmentRequest;
import com.ibm.watson.developer_cloud.discovery.v1.model.environment.CreateEnvironmentResponse;
import com.ibm.watson.developer_cloud.discovery.v1.model.environment.DeleteEnvironmentRequest;
+import com.ibm.watson.developer_cloud.discovery.v1.model.environment.DeleteEnvironmentResponse;
+import com.ibm.watson.developer_cloud.discovery.v1.model.environment.EnvironmentManager;
import com.ibm.watson.developer_cloud.discovery.v1.model.environment.GetEnvironmentRequest;
import com.ibm.watson.developer_cloud.discovery.v1.model.environment.GetEnvironmentResponse;
+import com.ibm.watson.developer_cloud.discovery.v1.model.environment.GetEnvironmentsRequest;
+import com.ibm.watson.developer_cloud.discovery.v1.model.environment.GetEnvironmentsResponse;
+import com.ibm.watson.developer_cloud.discovery.v1.model.environment.UpdateEnvironmentRequest;
+import com.ibm.watson.developer_cloud.discovery.v1.model.environment.UpdateEnvironmentResponse;
+import com.ibm.watson.developer_cloud.discovery.v1.model.query.Operator;
import com.ibm.watson.developer_cloud.discovery.v1.model.query.QueryManager;
import com.ibm.watson.developer_cloud.discovery.v1.model.query.QueryRequest;
+import com.ibm.watson.developer_cloud.discovery.v1.model.query.QueryResponse;
import com.ibm.watson.developer_cloud.http.HttpMediaType;
import com.ibm.watson.developer_cloud.http.InputStreamRequestBody;
import com.ibm.watson.developer_cloud.http.RequestBuilder;
@@ -47,41 +76,12 @@
import com.ibm.watson.developer_cloud.util.RequestUtils;
import com.ibm.watson.developer_cloud.util.ResponseConverterUtils;
import com.ibm.watson.developer_cloud.util.Validator;
-import com.ibm.watson.developer_cloud.discovery.v1.model.collection.CollectionManager;
-import com.ibm.watson.developer_cloud.discovery.v1.model.collection.CreateCollectionRequest;
-import com.ibm.watson.developer_cloud.discovery.v1.model.collection.GetCollectionRequest;
-import com.ibm.watson.developer_cloud.discovery.v1.model.collection.GetCollectionResponse;
-import com.ibm.watson.developer_cloud.discovery.v1.model.collection.GetCollectionsResponse;
-import com.ibm.watson.developer_cloud.discovery.v1.model.collection.field.GetCollectionFieldsResponse;
-import com.ibm.watson.developer_cloud.discovery.v1.model.configuration.Configuration;
-import com.ibm.watson.developer_cloud.discovery.v1.model.configuration.CreateConfigurationResponse;
-import com.ibm.watson.developer_cloud.discovery.v1.model.configuration.DeleteConfigurationRequest;
-import com.ibm.watson.developer_cloud.discovery.v1.model.configuration.DeleteConfigurationResponse;
-import com.ibm.watson.developer_cloud.discovery.v1.model.configuration.UpdateConfigurationRequest;
-import com.ibm.watson.developer_cloud.discovery.v1.model.document.DeleteDocumentRequest;
-import com.ibm.watson.developer_cloud.discovery.v1.model.document.DocumentManager;
-import com.ibm.watson.developer_cloud.discovery.v1.model.document.UpdateDocumentRequest;
-import com.ibm.watson.developer_cloud.discovery.v1.model.environment.DeleteEnvironmentResponse;
-import com.ibm.watson.developer_cloud.discovery.v1.model.environment.EnvironmentManager;
-import com.ibm.watson.developer_cloud.discovery.v1.model.environment.GetEnvironmentsRequest;
-import com.ibm.watson.developer_cloud.discovery.v1.model.environment.GetEnvironmentsResponse;
-import com.ibm.watson.developer_cloud.discovery.v1.model.environment.UpdateEnvironmentRequest;
-import com.ibm.watson.developer_cloud.discovery.v1.model.environment.UpdateEnvironmentResponse;
-import com.ibm.watson.developer_cloud.discovery.v1.model.query.Operator;
-import com.ibm.watson.developer_cloud.discovery.v1.model.query.QueryResponse;
import okhttp3.MediaType;
import okhttp3.MultipartBody;
import okhttp3.Request;
import okhttp3.RequestBody;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
-
/**
* Discovery service API for CRUD operations for indexing and searching data.
*/
@@ -348,15 +348,24 @@ public ServiceCall getDocument(GetDocumentRequest getReques
public ServiceCall createDocument(CreateDocumentRequest createRequest) {
Validator.notEmpty(createRequest.getEnvironmentId(), EnvironmentManager.ID + " cannot be empty");
Validator.notEmpty(createRequest.getCollectionId(), CollectionManager.ID + " cannot be empty");
- RequestBuilder builder = RequestBuilder
- .post(String
- .format(PATH_DOCUMENTS, createRequest.getEnvironmentId(), createRequest.getCollectionId()));
+
+ String pathElements;
+ if (createRequest.getDocumentId() == null) {
+ pathElements = String.format(PATH_DOCUMENTS, createRequest.getEnvironmentId(),
+ createRequest.getCollectionId());
+ } else {
+ Validator.notEmpty(createRequest.getDocumentId(), DocumentManager.ID + " cannot be empty");
+ pathElements = String.format(PATH_DOCUMENT, createRequest.getEnvironmentId(),
+ createRequest.getCollectionId(), createRequest.getDocumentId());
+ }
+
+ RequestBuilder builder = RequestBuilder.post(pathElements);
+
if (createRequest.getConfigurationId() != null) {
builder.query(CollectionManager.CONFIGURATION_ID, createRequest.getConfigurationId());
}
Validator.notNull(createRequest.getFile(), "Document " + FILE + " cannot be null");
MediaType mediaType = supportedMediaTypes.get(createRequest.getMediaType());
- Validator.notNull(mediaType, String.format("Media Type '%s' not supported", createRequest.getMediaType()));
RequestBody file = InputStreamRequestBody.create(mediaType, createRequest.getFile());
MultipartBody.Builder multipartBuilder = new MultipartBody.Builder();
multipartBuilder.setType(MultipartBody.FORM);
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/Collection.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/Collection.java
index 20571ed03a4..2581e5b8939 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/Collection.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/Collection.java
@@ -13,12 +13,12 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.collection;
+import java.util.Date;
+
import com.google.gson.annotations.SerializedName;
import com.ibm.watson.developer_cloud.discovery.v1.model.common.Status;
import com.ibm.watson.developer_cloud.service.model.GenericModel;
-import java.util.Date;
-
/**
* A Collection holds the documents that have been ingested and allows querying against it.
*/
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/CollectionManager.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/CollectionManager.java
index 1609f805e08..4704f0f1aba 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/CollectionManager.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/CollectionManager.java
@@ -13,10 +13,10 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.collection;
+import com.ibm.watson.developer_cloud.discovery.v1.model.collection.field.Field;
import com.ibm.watson.developer_cloud.discovery.v1.model.collection.field.GetCollectionFieldsRequest;
-import com.ibm.watson.developer_cloud.http.ServiceCall;
import com.ibm.watson.developer_cloud.discovery.v1.model.collection.field.GetCollectionFieldsResponse;
-import com.ibm.watson.developer_cloud.discovery.v1.model.collection.field.Field;
+import com.ibm.watson.developer_cloud.http.ServiceCall;
/**
* Interface defining the constants and methods associated with Collections.
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/GetCollectionsResponse.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/GetCollectionsResponse.java
index 389dcb25853..7799063e225 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/GetCollectionsResponse.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/GetCollectionsResponse.java
@@ -13,11 +13,11 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.collection;
+import java.util.List;
+
import com.google.gson.annotations.SerializedName;
import com.ibm.watson.developer_cloud.service.model.GenericModel;
-import java.util.List;
-
/**
* Response from {@link GetCollectionsRequest}.
*/
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/field/FieldAdapterFactory.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/field/FieldAdapterFactory.java
index 44ee7ee6b2c..050d4dd31ce 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/field/FieldAdapterFactory.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/field/FieldAdapterFactory.java
@@ -13,6 +13,8 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.collection.field;
+import java.io.IOException;
+
import com.google.gson.Gson;
import com.google.gson.TypeAdapter;
import com.google.gson.TypeAdapterFactory;
@@ -21,8 +23,6 @@
import com.google.gson.stream.JsonToken;
import com.google.gson.stream.JsonWriter;
-import java.io.IOException;
-
/**
* Override default enum handling for poorly formed JSON field types schema.
*/
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/field/GetCollectionFieldsRequest.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/field/GetCollectionFieldsRequest.java
index 30a19ded649..2cd39daf8bf 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/field/GetCollectionFieldsRequest.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/field/GetCollectionFieldsRequest.java
@@ -13,8 +13,8 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.collection.field;
-import com.ibm.watson.developer_cloud.service.model.GenericModel;
import com.ibm.watson.developer_cloud.discovery.v1.model.collection.Collection;
+import com.ibm.watson.developer_cloud.service.model.GenericModel;
/**
* Request to get a list of {@link Field}s from a {@link Collection}.
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/field/GetCollectionFieldsResponse.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/field/GetCollectionFieldsResponse.java
index 23a10dd80ec..c47ce6a9c3b 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/field/GetCollectionFieldsResponse.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/collection/field/GetCollectionFieldsResponse.java
@@ -13,12 +13,12 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.collection.field;
+import java.util.List;
+
import com.google.gson.annotations.SerializedName;
import com.ibm.watson.developer_cloud.discovery.v1.model.collection.CollectionManager;
import com.ibm.watson.developer_cloud.service.model.GenericModel;
-import java.util.List;
-
/**
* Response from {@link GetCollectionFieldsRequest}.
*/
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/common/EagerNumberAdapterFactory.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/common/EagerNumberAdapterFactory.java
index d9ca35b5071..442273ca3e8 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/common/EagerNumberAdapterFactory.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/common/EagerNumberAdapterFactory.java
@@ -13,6 +13,11 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.common;
+import java.io.IOException;
+import java.text.DecimalFormat;
+import java.text.NumberFormat;
+import java.text.ParseException;
+
import com.google.gson.Gson;
import com.google.gson.TypeAdapter;
import com.google.gson.TypeAdapterFactory;
@@ -21,11 +26,6 @@
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
-import java.io.IOException;
-import java.text.DecimalFormat;
-import java.text.NumberFormat;
-import java.text.ParseException;
-
/**
* Override the default {@link LazilyParsedNumber} for parsing {@link Number}s.
*/
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/Configuration.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/Configuration.java
index a016aad4b30..5208ef05a7d 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/Configuration.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/Configuration.java
@@ -13,13 +13,13 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.configuration;
+import java.util.Date;
+import java.util.List;
+
import com.google.gson.annotations.SerializedName;
import com.ibm.watson.developer_cloud.discovery.v1.model.document.Document;
import com.ibm.watson.developer_cloud.service.model.GenericModel;
-import java.util.Date;
-import java.util.List;
-
/**
* A Configuration is used to define how a {@link Document} will be ingested.
* It contains various settings for different file types and various steps of the ingestion process.
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/ContentSelector.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/ContentSelector.java
index d824d13cd8f..b980848ee8c 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/ContentSelector.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/ContentSelector.java
@@ -13,11 +13,11 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.configuration;
+import java.util.List;
+
import com.google.gson.annotations.SerializedName;
import com.ibm.watson.developer_cloud.service.model.GenericModel;
-import java.util.List;
-
/**
* ContentSelector allows you to define an xPath to retrieve content from an XML document.
*
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/Conversions.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/Conversions.java
index 581335081d0..00e3c3726d1 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/Conversions.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/Conversions.java
@@ -13,11 +13,11 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.configuration;
+import java.util.List;
+
import com.google.gson.annotations.SerializedName;
import com.ibm.watson.developer_cloud.service.model.GenericModel;
-import java.util.List;
-
/**
* Conversions define the steps associated with various filetypes.
*
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/DeleteConfigurationResponse.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/DeleteConfigurationResponse.java
index 446ff4d98be..19211feb18f 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/DeleteConfigurationResponse.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/DeleteConfigurationResponse.java
@@ -13,14 +13,14 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.configuration;
+import java.util.List;
+
import com.google.gson.annotations.SerializedName;
import com.ibm.watson.developer_cloud.discovery.v1.model.common.CommonManager;
import com.ibm.watson.developer_cloud.discovery.v1.model.common.Notice;
import com.ibm.watson.developer_cloud.discovery.v1.model.common.Status;
import com.ibm.watson.developer_cloud.service.model.GenericModel;
-import java.util.List;
-
/**
* Response from a {@link DeleteConfigurationRequest}.
* The response contains a {@link Notice} if the configuration was referenced by at least one collection.
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/Enrichment.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/Enrichment.java
index f60fda50a77..08238a2f1a2 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/Enrichment.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/Enrichment.java
@@ -13,11 +13,11 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.configuration;
+import java.util.Map;
+
import com.google.gson.annotations.SerializedName;
import com.ibm.watson.developer_cloud.service.model.GenericModel;
-import java.util.Map;
-
/**
* An Enrichment contains configuration pertaining to which fields Watson should extract metadata from.
*/
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/FontStyles.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/FontStyles.java
index f5cdda21f8e..4c3aeb428f9 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/FontStyles.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/FontStyles.java
@@ -13,11 +13,11 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.configuration;
+import java.util.List;
+
import com.google.gson.annotations.SerializedName;
import com.ibm.watson.developer_cloud.service.model.GenericModel;
-import java.util.List;
-
/**
* Contains basic styles for a font.
*/
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/GetConfigurationsResponse.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/GetConfigurationsResponse.java
index 56bbb3d795f..e8bb4928136 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/GetConfigurationsResponse.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/GetConfigurationsResponse.java
@@ -13,11 +13,11 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.configuration;
+import java.util.List;
+
import com.google.gson.annotations.SerializedName;
import com.ibm.watson.developer_cloud.service.model.GenericModel;
-import java.util.List;
-
/**
* Response from {@link GetConfigurationsRequest}.
*/
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/Heading.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/Heading.java
index 79c43a1fa29..fc8b358c387 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/Heading.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/Heading.java
@@ -13,11 +13,11 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.configuration;
+import java.util.List;
+
import com.google.gson.annotations.SerializedName;
import com.ibm.watson.developer_cloud.service.model.GenericModel;
-import java.util.List;
-
/**
* Heading settings in a PDF or Word document.
*
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/Html.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/Html.java
index 5e6d866ed34..cb41797a356 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/Html.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/configuration/Html.java
@@ -13,11 +13,11 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.configuration;
+import java.util.List;
+
import com.google.gson.annotations.SerializedName;
import com.ibm.watson.developer_cloud.service.model.GenericModel;
-import java.util.List;
-
/**
* Configuration options for an HTML document.
*/
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/document/CreateDocumentRequest.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/document/CreateDocumentRequest.java
index 14501086f30..dc4bb66a466 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/document/CreateDocumentRequest.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/document/CreateDocumentRequest.java
@@ -13,14 +13,14 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.document;
-import com.google.gson.JsonObject;
-import com.ibm.watson.developer_cloud.service.model.GenericModel;
-
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
+import com.google.gson.JsonObject;
+import com.ibm.watson.developer_cloud.service.model.GenericModel;
+
/**
* Request to create a {@link Document}.
*/
@@ -28,18 +28,22 @@ public class CreateDocumentRequest extends GenericModel {
private final String environmentId;
private final String collectionId;
private String configurationId;
+ private String documentId;
private JsonObject metadata;
private InputStream file;
private String mediaType;
+ private String fileName;
//TODO add configuration
protected CreateDocumentRequest(Builder builder) {
this.environmentId = builder.environmentId;
this.collectionId = builder.collectionId;
this.configurationId = builder.configurationId;
+ this.documentId = builder.documentId;
this.metadata = builder.metadata;
this.file = builder.file;
this.mediaType = builder.mediaType;
+ this.fileName = builder.fileName;
}
public String getEnvironmentId() {
@@ -50,6 +54,10 @@ public String getCollectionId() {
return collectionId;
}
+ public String getDocumentId() {
+ return documentId;
+ }
+
public String getConfigurationId() {
return configurationId;
}
@@ -66,17 +74,29 @@ public String getMediaType() {
return mediaType;
}
+ public String getFileName() {
+ return fileName;
+ }
+
public static class Builder {
private final String environmentId;
private final String collectionId;
private String configurationId;
+ private String documentId;
private JsonObject metadata;
private InputStream file;
private String mediaType;
+ private String fileName;
public Builder(String environmentId, String collectionId) {
this.environmentId = environmentId;
this.collectionId = collectionId;
+ this.fileName = this.fileName == null || this.fileName.isEmpty() ? "file_name_not_provided" : this.fileName;
+ }
+
+ public Builder documentId(String documentId) {
+ this.documentId = documentId;
+ return this;
}
public Builder configurationId(String configurationId) {
@@ -89,17 +109,65 @@ public Builder metadata(JsonObject metadata) {
return this;
}
+ /**
+ * @deprecated
+ * Use instead file(InputStream content, String mediaType)
+ *
+ * @param file An input stream of bytes
+ * @param mediaType The media type
+ * @return A document builder
+ */
+ @Deprecated
public Builder inputStream(InputStream file, String mediaType) {
this.file = file;
this.mediaType = mediaType;
return this;
}
+ public Builder file(InputStream content) {
+ this.file = content;
+ return this;
+ }
+
+ public Builder file(InputStream content, String mediaType) {
+ this.file = content;
+ this.mediaType = mediaType;
+ return this;
+ }
+
+ /**
+ * Create a document builder with an input stream, file name, and media type.
+ *
+ * @param content An input stream of bytes
+ * @param fileName The file name
+ * @param mediaType The media type. If the media type is unknown then use null or empty string.
+ * @return A document builder
+ */
+ public Builder file(InputStream content, String fileName, String mediaType) {
+ this.file = content;
+ this.mediaType = mediaType;
+ this.fileName = fileName;
+ return this;
+ }
+
public Builder file(File inputFile, String mediaType) {
InputStream file;
try {
file = new FileInputStream(inputFile);
this.mediaType = mediaType;
+ this.fileName = inputFile.getName();
+ } catch (FileNotFoundException e) {
+ file = null;
+ }
+ this.file = file;
+ return this;
+ }
+
+ public Builder file(File inputFile) {
+ InputStream file;
+ try {
+ file = new FileInputStream(inputFile);
+ this.fileName = inputFile.getName();
} catch (FileNotFoundException e) {
file = null;
}
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/document/Document.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/document/Document.java
index 862be04118d..051e5f63476 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/document/Document.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/document/Document.java
@@ -13,15 +13,15 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.document;
+import java.util.Date;
+import java.util.List;
+
import com.google.gson.annotations.SerializedName;
import com.ibm.watson.developer_cloud.discovery.v1.model.common.CommonManager;
import com.ibm.watson.developer_cloud.discovery.v1.model.common.Notice;
import com.ibm.watson.developer_cloud.discovery.v1.model.query.QueryManager;
import com.ibm.watson.developer_cloud.service.model.GenericModel;
-import java.util.Date;
-import java.util.List;
-
/**
* A Document contains the processing status and notices, if any, for a document in the index.
* It does not return the document itself.
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/document/UpdateDocumentRequest.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/document/UpdateDocumentRequest.java
index 7973e98fe8f..4f414290aaa 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/document/UpdateDocumentRequest.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/document/UpdateDocumentRequest.java
@@ -13,14 +13,14 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.document;
-import com.google.gson.JsonObject;
-import com.ibm.watson.developer_cloud.service.model.GenericModel;
-
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStream;
+import com.google.gson.JsonObject;
+import com.ibm.watson.developer_cloud.service.model.GenericModel;
+
/**
* Request to update a {@link Document}.
*/
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/environment/Environment.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/environment/Environment.java
index 014a0e0274b..fe067e3eb17 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/environment/Environment.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/environment/Environment.java
@@ -13,12 +13,12 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.environment;
+import java.util.Date;
+
import com.google.gson.annotations.SerializedName;
import com.ibm.watson.developer_cloud.discovery.v1.model.common.Status;
import com.ibm.watson.developer_cloud.service.model.GenericModel;
-import java.util.Date;
-
/**
* Container where Collections and Configurations are stored.
* An Environment gives information about the memory and storage space allocated
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/environment/GetEnvironmentsResponse.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/environment/GetEnvironmentsResponse.java
index bab65c98988..78d1d17fcc1 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/environment/GetEnvironmentsResponse.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/environment/GetEnvironmentsResponse.java
@@ -13,11 +13,11 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.environment;
+import java.util.List;
+
import com.google.gson.annotations.SerializedName;
import com.ibm.watson.developer_cloud.service.model.GenericModel;
-import java.util.List;
-
/**
* Response from a {@link GetEnvironmentsRequest}.
*/
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/query/AggregationAdapterFactory.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/query/AggregationAdapterFactory.java
index d65e3fdaf1d..8260ef24451 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/query/AggregationAdapterFactory.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/query/AggregationAdapterFactory.java
@@ -13,6 +13,8 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.query;
+import java.io.IOException;
+
import com.google.gson.Gson;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
@@ -22,8 +24,6 @@
import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonWriter;
-import java.io.IOException;
-
/**
* Adapts the abstract {@link Aggregation} to its concrete implementations.
*/
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/query/NestableAggregation.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/query/NestableAggregation.java
index 98a80321a16..847f8ed04b1 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/query/NestableAggregation.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/query/NestableAggregation.java
@@ -13,10 +13,10 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.query;
-import com.google.gson.annotations.SerializedName;
-
import java.util.List;
+import com.google.gson.annotations.SerializedName;
+
/**
* Handles aggregations that can use the {@link Operator#NEST_AGGREGATION}.
*/
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/query/NestableAggregationResult.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/query/NestableAggregationResult.java
index 5c99d2987cc..cb4e1810e95 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/query/NestableAggregationResult.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/query/NestableAggregationResult.java
@@ -13,11 +13,11 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.query;
+import java.util.List;
+
import com.google.gson.annotations.SerializedName;
import com.ibm.watson.developer_cloud.service.model.GenericModel;
-import java.util.List;
-
/**
* Results contained within a Nestable Aggregation.
*
diff --git a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/query/QueryResponse.java b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/query/QueryResponse.java
index e2b52075c55..26597940ff8 100644
--- a/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/query/QueryResponse.java
+++ b/discovery/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/model/query/QueryResponse.java
@@ -13,13 +13,13 @@
package com.ibm.watson.developer_cloud.discovery.v1.model.query;
-import com.google.gson.annotations.SerializedName;
-import com.ibm.watson.developer_cloud.service.model.GenericModel;
-
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import com.google.gson.annotations.SerializedName;
+import com.ibm.watson.developer_cloud.service.model.GenericModel;
+
/**
* A response containing the documents and aggregations from the QueryRequest.
*
diff --git a/discovery/src/test/java/com/ibm/watson/developer_cloud/discovery/v1/DiscoveryServiceIT.java b/discovery/src/test/java/com/ibm/watson/developer_cloud/discovery/v1/DiscoveryServiceIT.java
index 77fa3b20cdf..cbafc05be9a 100644
--- a/discovery/src/test/java/com/ibm/watson/developer_cloud/discovery/v1/DiscoveryServiceIT.java
+++ b/discovery/src/test/java/com/ibm/watson/developer_cloud/discovery/v1/DiscoveryServiceIT.java
@@ -13,6 +13,32 @@
package com.ibm.watson.developer_cloud.discovery.v1;
+import static org.junit.Assert.assertArrayEquals;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+
+import java.io.ByteArrayInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Set;
+import java.util.UUID;
+import java.util.concurrent.TimeUnit;
+
+import org.junit.After;
+import org.junit.Assume;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
import com.google.gson.JsonObject;
import com.google.gson.JsonPrimitive;
import com.ibm.watson.developer_cloud.WatsonServiceTest;
@@ -72,36 +98,14 @@
import com.ibm.watson.developer_cloud.service.exception.ForbiddenException;
import com.ibm.watson.developer_cloud.service.exception.UnauthorizedException;
import com.ibm.watson.developer_cloud.util.GsonSingleton;
+import com.ibm.watson.developer_cloud.util.RetryRunner;
import com.ibm.watson.developer_cloud.util.WaitFor;
-import org.junit.After;
-import org.junit.Assume;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Ignore;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.assertArrayEquals;
-
-import java.io.ByteArrayInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.UUID;
-import java.util.concurrent.TimeUnit;
/**
* Integration tests for {@link Discovery}.
*
*/
+@RunWith(RetryRunner.class)
public class DiscoveryServiceIT extends WatsonServiceTest {
private static final String DISCOVERY_TEST_CONFIG_FILE = "src/test/resources/discovery/test-config.json";
private static final String DISCOVERY1_TEST_CONFIG_FILE = "src/test/resources/discovery/issue517.json";
@@ -115,7 +119,7 @@ public class DiscoveryServiceIT extends WatsonServiceTest {
@BeforeClass
public static void setupClass() {
- //get the properties
+ // get the properties
DiscoveryServiceIT dummyTest = new DiscoveryServiceIT();
String username = dummyTest.getProperty("discovery.username");
String password = dummyTest.getProperty("discovery.password");
@@ -130,7 +134,7 @@ public static void setupClass() {
GetEnvironmentsRequest getRequest = new GetEnvironmentsRequest.Builder().build();
GetEnvironmentsResponse getResponse = discovery.getEnvironments(getRequest).execute();
for (Environment environment : getResponse.getEnvironments()) {
- //look for an existing environment that isn't read only
+ // look for an existing environment that isn't read only
if (!environment.isReadOnly()) {
environmentId = environment.getEnvironmentId();
break;
@@ -138,11 +142,10 @@ public static void setupClass() {
}
if (environmentId == null) {
- //no environment found, create a new one (assuming we are a FREE plan)
+ // no environment found, create a new one (assuming we are a FREE plan)
String environmentName = "watson_developer_cloud_test_environment";
CreateEnvironmentRequest.Size size = CreateEnvironmentRequest.Size.FREE;
- CreateEnvironmentRequest createRequest = new CreateEnvironmentRequest.Builder(environmentName, size)
- .build();
+ CreateEnvironmentRequest createRequest = new CreateEnvironmentRequest.Builder(environmentName, size).build();
CreateEnvironmentResponse createResponse = discovery.createEnvironment(createRequest).execute();
environmentId = createResponse.getEnvironmentId();
WaitFor.Condition environmentReady = new EnvironmentReady(discovery, environmentId);
@@ -166,14 +169,13 @@ public void setup() throws Exception {
@After
public void cleanup() {
for (String collectionId : collectionIds) {
- DeleteCollectionRequest deleteRequest = new DeleteCollectionRequest.Builder(environmentId, collectionId)
- .build();
+ DeleteCollectionRequest deleteRequest = new DeleteCollectionRequest.Builder(environmentId, collectionId).build();
discovery.deleteCollection(deleteRequest).execute();
}
for (String configurationId : configurationIds) {
- DeleteConfigurationRequest deleteRequest = new DeleteConfigurationRequest.Builder(environmentId,
- configurationId).build();
+ DeleteConfigurationRequest deleteRequest =
+ new DeleteConfigurationRequest.Builder(environmentId, configurationId).build();
discovery.deleteConfiguration(deleteRequest).execute();
}
}
@@ -242,8 +244,8 @@ public void getEnvironmentsByNameIsSuccessful() {
@Ignore("Only 1 BYOD environment allowed per service instance, so we cannot create more")
public void createEnvironmentIsSuccessful() {
String environmentName = uniqueName + "-environment";
- CreateEnvironmentRequest createRequest = new CreateEnvironmentRequest.Builder(environmentName,
- CreateEnvironmentRequest.Size.FREE).build();
+ CreateEnvironmentRequest createRequest =
+ new CreateEnvironmentRequest.Builder(environmentName, CreateEnvironmentRequest.Size.FREE).build();
CreateEnvironmentResponse createResponse = createEnvironment(createRequest);
assertEquals(environmentName, createResponse.getName());
@@ -253,12 +255,12 @@ public void createEnvironmentIsSuccessful() {
@Ignore("Only 1 BYOD environment allowed per service instance, so do not delete it")
public void deleteEnvironmentIsSuccessful() {
String environmentName = uniqueName + "-environment";
- CreateEnvironmentRequest createRequest = new CreateEnvironmentRequest.Builder(environmentName,
- CreateEnvironmentRequest.Size.FREE).build();
+ CreateEnvironmentRequest createRequest =
+ new CreateEnvironmentRequest.Builder(environmentName, CreateEnvironmentRequest.Size.FREE).build();
CreateEnvironmentResponse createResponse = createEnvironment(createRequest);
- DeleteEnvironmentRequest deleteRequest = new DeleteEnvironmentRequest.Builder(createResponse.getEnvironmentId())
- .build();
+ DeleteEnvironmentRequest deleteRequest =
+ new DeleteEnvironmentRequest.Builder(createResponse.getEnvironmentId()).build();
DeleteEnvironmentResponse deleteRepsonse = deleteEnvironment(deleteRequest);
assertEquals(createResponse.getEnvironmentId(), deleteRepsonse.getEnvironmentId());
@@ -268,13 +270,13 @@ public void deleteEnvironmentIsSuccessful() {
@Ignore("Only 1 BYOD environment allowed per service instance, so we cannot create more")
public void updateEnvironmentIsSuccessful() {
String environmentName = uniqueName + "-environment";
- CreateEnvironmentRequest createRequest = new CreateEnvironmentRequest.Builder(environmentName,
- CreateEnvironmentRequest.Size.FREE).build();
+ CreateEnvironmentRequest createRequest =
+ new CreateEnvironmentRequest.Builder(environmentName, CreateEnvironmentRequest.Size.FREE).build();
CreateEnvironmentResponse createResponse = createEnvironment(createRequest);
String randomDescription = UUID.randomUUID().toString() + " appbuilder tests";
- UpdateEnvironmentRequest.Builder updateBuilder = new UpdateEnvironmentRequest.Builder(
- createResponse.getEnvironmentId(), environmentName);
+ UpdateEnvironmentRequest.Builder updateBuilder =
+ new UpdateEnvironmentRequest.Builder(createResponse.getEnvironmentId(), environmentName);
updateBuilder.description(randomDescription);
UpdateEnvironmentResponse updateResponse = discovery.updateEnvironment(updateBuilder.build()).execute();
@@ -305,8 +307,8 @@ public void createConfigurationIsSuccessful() {
public void deleteConfigurationIsSuccessful() {
CreateConfigurationResponse createResponse = createTestConfig();
- DeleteConfigurationRequest deleteRequest = new DeleteConfigurationRequest.Builder(environmentId,
- createResponse.getConfigurationId()).build();
+ DeleteConfigurationRequest deleteRequest =
+ new DeleteConfigurationRequest.Builder(environmentId, createResponse.getConfigurationId()).build();
DeleteConfigurationResponse deleteResponse = deleteConfiguration(deleteRequest);
assertEquals(createResponse.getConfigurationId(), deleteResponse.getConfigurationId());
@@ -316,8 +318,8 @@ public void deleteConfigurationIsSuccessful() {
public void getConfigurationIsSuccessful() {
CreateConfigurationResponse createResponse = createTestConfig();
- GetConfigurationRequest getRequest = new GetConfigurationRequest.Builder(environmentId,
- createResponse.getConfigurationId()).build();
+ GetConfigurationRequest getRequest =
+ new GetConfigurationRequest.Builder(environmentId, createResponse.getConfigurationId()).build();
GetConfigurationResponse getResponse = discovery.getConfiguration(getRequest).execute();
assertEquals(createResponse.getName(), getResponse.getName());
@@ -340,8 +342,8 @@ public void updateConfigurationIsSuccessful() {
CreateConfigurationResponse createResponse = createTestConfig();
String newUniqueName = createResponse.getName() + UUID.randomUUID().toString();
- UpdateConfigurationRequest.Builder updateBuilder = new UpdateConfigurationRequest.Builder(environmentId,
- createResponse.getConfigurationId());
+ UpdateConfigurationRequest.Builder updateBuilder =
+ new UpdateConfigurationRequest.Builder(environmentId, createResponse.getConfigurationId());
createResponse.setName(newUniqueName);
updateBuilder.configuration(createResponse);
UpdateConfigurationResponse updateResponse = discovery.updateConfiguration(updateBuilder.build()).execute();
@@ -379,10 +381,10 @@ public void deleteCollectionIsSuccessful() {
createConfigResponse.getConfigurationId(), uniqueCollectionName);
CreateCollectionResponse createResponse = createCollection(createCollectionBuilder.build());
- //need to wait for collection to be ready
+ // need to wait for collection to be ready
- DeleteCollectionRequest deleteRequest = new DeleteCollectionRequest.Builder(environmentId,
- createResponse.getCollectionId()).build();
+ DeleteCollectionRequest deleteRequest =
+ new DeleteCollectionRequest.Builder(environmentId, createResponse.getCollectionId()).build();
DeleteCollectionResponse deleteResponse = deleteCollection(deleteRequest);
assertEquals(Status.DELETED, deleteResponse.getStatus());
@@ -397,10 +399,10 @@ public void getCollectionIsSuccessful() {
createConfigResponse.getConfigurationId(), uniqueCollectionName);
CreateCollectionResponse createResponse = createCollection(createCollectionBuilder.build());
- GetCollectionRequest getRequest = new GetCollectionRequest.Builder(environmentId,
- createResponse.getCollectionId()).build();
+ GetCollectionRequest getRequest =
+ new GetCollectionRequest.Builder(environmentId, createResponse.getCollectionId()).build();
- //need to wait for collection to be ready
+ // need to wait for collection to be ready
GetCollectionResponse getResponse = discovery.getCollection(getRequest).execute();
@@ -424,6 +426,7 @@ public void getCollectionsByNameIsSuccessful() {
assertEquals(uniqueCollectionName, getResponse.getCollections().get(0).getName());
}
+ @SuppressWarnings("deprecation")
@Test
public void createDocumentIsSuccessful() {
CreateCollectionResponse createCollectionResponse = createTestCollection();
@@ -431,8 +434,8 @@ public void createDocumentIsSuccessful() {
String myDocumentJson = "{\"field\":\"value\"}";
InputStream documentStream = new ByteArrayInputStream(myDocumentJson.getBytes());
- CreateDocumentRequest.Builder builder = new CreateDocumentRequest.Builder(environmentId,
- createCollectionResponse.getCollectionId());
+ CreateDocumentRequest.Builder builder =
+ new CreateDocumentRequest.Builder(environmentId, createCollectionResponse.getCollectionId());
builder.inputStream(documentStream, HttpMediaType.APPLICATION_JSON);
CreateDocumentResponse createResponse = discovery.createDocument(builder.build()).execute();
@@ -440,6 +443,7 @@ public void createDocumentIsSuccessful() {
assertNull(createResponse.getNotices());
}
+ @SuppressWarnings("deprecation")
@Test
public void createDocumentWithMetadataIsSuccessful() {
CreateCollectionResponse createCollectionResponse = createTestCollection();
@@ -473,8 +477,8 @@ public void deleteDocumentIsSuccessful() {
String collectionId = createCollectionResponse.getCollectionId();
CreateDocumentResponse createDocumentResponse = createTestDocument(collectionId);
- DeleteDocumentRequest deleteRequest = new DeleteDocumentRequest.Builder(environmentId, collectionId,
- createDocumentResponse.getDocumentId()).build();
+ DeleteDocumentRequest deleteRequest =
+ new DeleteDocumentRequest.Builder(environmentId, collectionId, createDocumentResponse.getDocumentId()).build();
DeleteDocumentResponse deleteResponse = discovery.deleteDocument(deleteRequest).execute();
assertEquals(Status.DELETED, deleteResponse.getStatus());
}
@@ -485,8 +489,8 @@ public void getDocumentIsSuccessful() {
String collectionId = createCollectionResponse.getCollectionId();
CreateDocumentResponse createDocumentResponse = createTestDocument(collectionId);
- GetDocumentRequest getRequest = new GetDocumentRequest.Builder(environmentId, collectionId,
- createDocumentResponse.getDocumentId()).build();
+ GetDocumentRequest getRequest =
+ new GetDocumentRequest.Builder(environmentId, collectionId, createDocumentResponse.getDocumentId()).build();
GetDocumentResponse getResponse = discovery.getDocument(getRequest).execute();
assertEquals(Document.Status.AVAILABLE, getResponse.getStatus());
@@ -498,15 +502,15 @@ public void updateDocumentIsSuccessful() {
String collectionId = createCollectionResponse.getCollectionId();
CreateDocumentResponse createDocumentResponse = createTestDocument(collectionId);
- UpdateDocumentRequest.Builder updateBuilder = new UpdateDocumentRequest.Builder(environmentId, collectionId,
- createDocumentResponse.getDocumentId());
+ UpdateDocumentRequest.Builder updateBuilder =
+ new UpdateDocumentRequest.Builder(environmentId, collectionId, createDocumentResponse.getDocumentId());
String myDocumentJson = "{\"field\":\"value2\"}";
InputStream documentStream = new ByteArrayInputStream(myDocumentJson.getBytes());
updateBuilder.inputStream(documentStream, HttpMediaType.APPLICATION_JSON);
UpdateDocumentResponse updateResponse = discovery.updateDocument(updateBuilder.build()).execute();
- GetDocumentRequest getRequest = new GetDocumentRequest.Builder(environmentId, collectionId,
- updateResponse.getDocumentId()).build();
+ GetDocumentRequest getRequest =
+ new GetDocumentRequest.Builder(environmentId, collectionId, updateResponse.getDocumentId()).build();
GetDocumentResponse getResponse = discovery.getDocument(getRequest).execute();
assertEquals(Document.Status.AVAILABLE, getResponse.getStatus());
@@ -525,12 +529,11 @@ public void updateDocumentWithMetadataIsSuccessful() {
JsonObject myMetadata = new JsonObject();
myMetadata.add("foo", new JsonPrimitive("bar"));
- UpdateDocumentRequest.Builder updateBuilder = new UpdateDocumentRequest.Builder(environmentId, collectionId,
- createDocumentResponse.getDocumentId());
+ UpdateDocumentRequest.Builder updateBuilder =
+ new UpdateDocumentRequest.Builder(environmentId, collectionId, createDocumentResponse.getDocumentId());
updateBuilder.inputStream(documentStream, HttpMediaType.APPLICATION_JSON);
updateBuilder.metadata(myMetadata);
- UpdateDocumentResponse updateResponse =
- discovery.updateDocument(updateBuilder.build()).execute();
+ UpdateDocumentResponse updateResponse = discovery.updateDocument(updateBuilder.build()).execute();
WaitFor.Condition documentAccepted =
new DocumentAccepted(environmentId, collectionId, updateResponse.getDocumentId());
@@ -548,8 +551,7 @@ public void getCollectionFieldsIsSuccessful() {
String collectionId = createCollectionResponse.getCollectionId();
createTestDocument(collectionId);
- GetCollectionFieldsRequest getRequest = new GetCollectionFieldsRequest.Builder(environmentId, collectionId)
- .build();
+ GetCollectionFieldsRequest getRequest = new GetCollectionFieldsRequest.Builder(environmentId, collectionId).build();
GetCollectionFieldsResponse getResponse = discovery.getCollectionFields(getRequest).execute();
assertFalse(getResponse.getFields().isEmpty());
@@ -751,7 +753,7 @@ public void queryWithAggregationAverageIsSuccessful() throws InterruptedExceptio
public void issueNumber517() {
String uniqueConfigName = uniqueName + "-config";
CreateConfigurationRequest.Builder createBuilder = new CreateConfigurationRequest.Builder(environmentId);
- Configuration configuration = getTestConfiguration(DISCOVERY1_TEST_CONFIG_FILE);
+ Configuration configuration = getTestConfiguration(DISCOVERY1_TEST_CONFIG_FILE);
configuration.setName(uniqueConfigName);
createBuilder.configuration(configuration);
@@ -771,7 +773,7 @@ public void issueNumber518() {
String uniqueConfigName = uniqueName + "-config";
CreateConfigurationRequest.Builder createBuilder = new CreateConfigurationRequest.Builder(environmentId);
- Configuration configuration = getTestConfiguration(DISCOVERY2_TEST_CONFIG_FILE);
+ Configuration configuration = getTestConfiguration(DISCOVERY2_TEST_CONFIG_FILE);
configuration.setName(uniqueConfigName);
createBuilder.configuration(configuration);
@@ -846,13 +848,14 @@ private CreateDocumentResponse createTestDocument(String collectionId) {
return createTestDocument(myDocumentJson, collectionId);
}
+ @SuppressWarnings("deprecation")
private CreateDocumentResponse createTestDocument(String json, String collectionId) {
InputStream documentStream = new ByteArrayInputStream(json.getBytes());
CreateDocumentRequest.Builder builder = new CreateDocumentRequest.Builder(environmentId, collectionId);
builder.inputStream(documentStream, HttpMediaType.APPLICATION_JSON);
CreateDocumentResponse createResponse = discovery.createDocument(builder.build()).execute();
- WaitFor.Condition documentAccepted = new DocumentAccepted(environmentId, collectionId,
- createResponse.getDocumentId());
+ WaitFor.Condition documentAccepted =
+ new DocumentAccepted(environmentId, collectionId, createResponse.getDocumentId());
WaitFor.waitFor(documentAccepted, 5, TimeUnit.SECONDS, 500);
return createResponse;
}
@@ -887,7 +890,7 @@ private static class EnvironmentReady implements WaitFor.Condition {
private final Discovery discovery;
private final String environmentId;
- public EnvironmentReady(Discovery discovery, String environmentId) {
+ private EnvironmentReady(Discovery discovery, String environmentId) {
this.discovery = discovery;
this.environmentId = environmentId;
}
@@ -901,10 +904,6 @@ public boolean isSatisfied() {
}
private class DocumentAccepted implements WaitFor.Condition {
- private final String environmentId;
- private final String collectionId;
- private final String documentId;
-
public DocumentAccepted(String environmentId, String collectionId, String documentId) {
this.environmentId = environmentId;
this.collectionId = collectionId;
@@ -913,10 +912,15 @@ public DocumentAccepted(String environmentId, String collectionId, String docume
@Override
public boolean isSatisfied() {
- GetDocumentRequest getRequest = new GetDocumentRequest.Builder(environmentId, collectionId, documentId)
- .build();
+ GetDocumentRequest getRequest = new GetDocumentRequest.Builder(environmentId, collectionId, documentId).build();
Document.Status status = discovery.getDocument(getRequest).execute().getStatus();
return status.equals(Document.Status.AVAILABLE);
}
+
+ private final String environmentId;
+ private final String collectionId;
+ private final String documentId;
+
}
+
}
diff --git a/discovery/src/test/java/com/ibm/watson/developer_cloud/discovery/v1/DiscoveryServiceTest.java b/discovery/src/test/java/com/ibm/watson/developer_cloud/discovery/v1/DiscoveryServiceTest.java
index fe7f3461057..948fffe7c85 100644
--- a/discovery/src/test/java/com/ibm/watson/developer_cloud/discovery/v1/DiscoveryServiceTest.java
+++ b/discovery/src/test/java/com/ibm/watson/developer_cloud/discovery/v1/DiscoveryServiceTest.java
@@ -13,6 +13,24 @@
package com.ibm.watson.developer_cloud.discovery.v1;
+import static org.junit.Assert.assertEquals;
+
+import java.io.BufferedWriter;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileReader;
+import java.io.FileWriter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.util.HashSet;
+import java.util.Set;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
import com.google.gson.JsonIOException;
import com.google.gson.JsonObject;
import com.google.gson.JsonPrimitive;
@@ -66,20 +84,6 @@
import okhttp3.mockwebserver.RecordedRequest;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.BeforeClass;
-import org.junit.Test;
-
-import static org.junit.Assert.assertEquals;
-
-import java.io.ByteArrayInputStream;
-import java.io.FileNotFoundException;
-import java.io.FileReader;
-import java.io.InputStream;
-import java.util.HashSet;
-import java.util.Set;
-
/**
* Unit tests for {@link Discovery}.
*
@@ -440,6 +444,150 @@ public void createDocumentIsSuccessful() throws InterruptedException {
assertEquals(createDocResp, response);
}
+ @Test
+ public void createDocumentFromInputStreamIsSuccessful() throws InterruptedException {
+ server.enqueue(jsonResponse(createDocResp));
+ String myDocumentJson = "{\"field\":\"value\"}";
+ JsonObject myMetadata = new JsonObject();
+ myMetadata.add("foo", new JsonPrimitive("bar"));
+ InputStream documentStream = new ByteArrayInputStream(myDocumentJson.getBytes());
+
+ CreateDocumentRequest.Builder builder = new CreateDocumentRequest.Builder(environmentId, collectionId);
+ builder.file(documentStream);
+ builder.metadata(myMetadata);
+ CreateDocumentResponse response = discoveryService.createDocument(builder.build()).execute();
+ RecordedRequest request = server.takeRequest();
+
+ assertEquals(DOCS1_PATH, request.getPath());
+ assertEquals(POST, request.getMethod());
+ assertEquals(createDocResp, response);
+ }
+
+ @Test
+ public void createDocumentFromInputStreamWithMediaTypeIsSuccessful() throws InterruptedException {
+ server.enqueue(jsonResponse(createDocResp));
+ String myDocumentJson = "{\"field\":\"value\"}";
+ JsonObject myMetadata = new JsonObject();
+ myMetadata.add("foo", new JsonPrimitive("bar"));
+ InputStream documentStream = new ByteArrayInputStream(myDocumentJson.getBytes());
+
+ CreateDocumentRequest.Builder builder = new CreateDocumentRequest.Builder(environmentId, collectionId);
+ builder.file(documentStream, HttpMediaType.APPLICATION_JSON);
+ builder.metadata(myMetadata);
+ CreateDocumentResponse response = discoveryService.createDocument(builder.build()).execute();
+ RecordedRequest request = server.takeRequest();
+
+ assertEquals(DOCS1_PATH, request.getPath());
+ assertEquals(POST, request.getMethod());
+ assertEquals(createDocResp, response);
+ }
+
+ @Test
+ public void createDocumentFromInputStreamWithFileNameAndMediaTypeIsSuccessful() throws InterruptedException {
+ server.enqueue(jsonResponse(createDocResp));
+ String fileName = "MyFileName";
+ String myDocumentJson = "{\"field\":\"value\"}";
+ JsonObject myMetadata = new JsonObject();
+ myMetadata.add("foo", new JsonPrimitive("bar"));
+ InputStream documentStream = new ByteArrayInputStream(myDocumentJson.getBytes());
+
+ CreateDocumentRequest.Builder builder = new CreateDocumentRequest.Builder(environmentId, collectionId);
+ builder.file(documentStream, fileName, HttpMediaType.APPLICATION_JSON);
+ builder.metadata(myMetadata);
+ CreateDocumentResponse response = discoveryService.createDocument(builder.build()).execute();
+ RecordedRequest request = server.takeRequest();
+
+ assertEquals(DOCS1_PATH, request.getPath());
+ assertEquals(POST, request.getMethod());
+ assertEquals(createDocResp, response);
+ }
+
+ @Test
+ public void createDocumentFromFileWithMediaTypeIsSuccessful() throws InterruptedException {
+ server.enqueue(jsonResponse(createDocResp));
+ String myDocumentJson = "{\"field\":\"value\"}";
+ JsonObject myMetadata = new JsonObject();
+ myMetadata.add("foo", new JsonPrimitive("bar"));
+
+ CreateDocumentRequest.Builder builder = new CreateDocumentRequest.Builder(environmentId, collectionId);
+
+ try {
+ File tempFile = File.createTempFile("CreateDocTest1", ".json");
+ tempFile.deleteOnExit();
+ BufferedWriter out = new BufferedWriter(new FileWriter(tempFile));
+ out.write(myDocumentJson);
+ out.close();
+
+ builder.file(tempFile, HttpMediaType.APPLICATION_JSON);
+ builder.metadata(myMetadata);
+ CreateDocumentResponse response = discoveryService.createDocument(builder.build()).execute();
+ RecordedRequest request = server.takeRequest();
+
+ assertEquals(DOCS1_PATH, request.getPath());
+ assertEquals(POST, request.getMethod());
+ assertEquals(createDocResp, response);
+ } catch (final IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Test
+ public void createDocumentFromFileIsSuccessful() throws InterruptedException {
+ server.enqueue(jsonResponse(createDocResp));
+ String myDocumentJson = "{\"field\":\"value\"}";
+ JsonObject myMetadata = new JsonObject();
+ myMetadata.add("foo", new JsonPrimitive("bar"));
+
+ CreateDocumentRequest.Builder builder = new CreateDocumentRequest.Builder(environmentId, collectionId);
+ try {
+ File tempFile = File.createTempFile("CreateDocTest2", ".json");
+ tempFile.deleteOnExit();
+ BufferedWriter out = new BufferedWriter(new FileWriter(tempFile));
+ out.write(myDocumentJson);
+ out.close();
+
+ builder.file(tempFile);
+ builder.metadata(myMetadata);
+ CreateDocumentResponse response = discoveryService.createDocument(builder.build()).execute();
+ RecordedRequest request = server.takeRequest();
+
+ assertEquals(DOCS1_PATH, request.getPath());
+ assertEquals(POST, request.getMethod());
+ assertEquals(createDocResp, response);
+ } catch (final IOException e) {
+ e.printStackTrace();
+ }
+ }
+
+ @Test
+ public void createDocumentFromFileWithGivenIdIsSuccessful() throws InterruptedException {
+ server.enqueue(jsonResponse(createDocResp));
+ String myDocumentJson = "{\"field\":\"value\"}";
+ JsonObject myMetadata = new JsonObject();
+ myMetadata.add("foo", new JsonPrimitive("bar"));
+
+ CreateDocumentRequest.Builder builder = new CreateDocumentRequest.Builder(environmentId, collectionId);
+ try {
+ File tempFile = File.createTempFile("CreateDocTest3", ".json");
+ tempFile.deleteOnExit();
+ BufferedWriter out = new BufferedWriter(new FileWriter(tempFile));
+ out.write(myDocumentJson);
+ out.close();
+
+ builder.file(tempFile);
+ builder.metadata(myMetadata);
+ builder.documentId(documentId);
+ CreateDocumentResponse response = discoveryService.createDocument(builder.build()).execute();
+ RecordedRequest request = server.takeRequest();
+
+ assertEquals(DOCS2_PATH, request.getPath());
+ assertEquals(POST, request.getMethod());
+ assertEquals(createDocResp, response);
+ } catch (final IOException e) {
+ e.printStackTrace();
+ }
+ }
+
@Test
public void updateDocumentIsSuccessful() throws InterruptedException {
server.enqueue(jsonResponse(updateDocResp));
diff --git a/document-conversion/README.md b/document-conversion/README.md
index cc4fab14605..be42e5f198b 100644
--- a/document-conversion/README.md
+++ b/document-conversion/README.md
@@ -7,13 +7,13 @@
com.ibm.watson.developer_cloud
document-conversion
- 3.7.1
+ 3.7.2
```
##### Gradle
```gradle
-'com.ibm.watson.developer_cloud:document-conversion:3.7.1'
+'com.ibm.watson.developer_cloud:document-conversion:3.7.2'
```
## Usage
diff --git a/document-conversion/build.gradle b/document-conversion/build.gradle
index bd73f24dc49..6a0f685688a 100644
--- a/document-conversion/build.gradle
+++ b/document-conversion/build.gradle
@@ -51,6 +51,7 @@ signArchives {
checkstyle {
configFile = rootProject.file('checkstyle.xml')
+ ignoreFailures = false
}
dependencies {
diff --git a/examples/build.gradle b/examples/build.gradle
index 0cad5d23030..f2501028117 100644
--- a/examples/build.gradle
+++ b/examples/build.gradle
@@ -33,5 +33,5 @@ checkstyle {
}
dependencies {
- compile group: 'com.ibm.watson.developer_cloud', name: 'java-sdk', version: '3.7.1'
+ compile group: 'com.ibm.watson.developer_cloud', name: 'java-sdk', version: '3.7.2'
}
diff --git a/examples/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/DiscoveryQueryExample.java b/examples/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/DiscoveryQueryExample.java
index 30ba7a5075c..7af172c4e37 100644
--- a/examples/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/DiscoveryQueryExample.java
+++ b/examples/src/main/java/com/ibm/watson/developer_cloud/discovery/v1/DiscoveryQueryExample.java
@@ -15,6 +15,9 @@
package com.ibm.watson.developer_cloud.discovery.v1;
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+
import com.ibm.watson.developer_cloud.discovery.v1.model.collection.CreateCollectionRequest;
import com.ibm.watson.developer_cloud.discovery.v1.model.collection.CreateCollectionResponse;
import com.ibm.watson.developer_cloud.discovery.v1.model.collection.DeleteCollectionRequest;
@@ -40,9 +43,6 @@
import com.ibm.watson.developer_cloud.discovery.v1.model.query.QueryResponse;
import com.ibm.watson.developer_cloud.http.HttpMediaType;
-import java.io.ByteArrayInputStream;
-import java.io.InputStream;
-
/**
* End-to-end example for querying Discovery.
*/
diff --git a/examples/src/main/java/com/ibm/watson/developer_cloud/speech_to_text/v1/RecognizeUsingWebSocketsWithSpeakerLabelsExample.java b/examples/src/main/java/com/ibm/watson/developer_cloud/speech_to_text/v1/RecognizeUsingWebSocketsWithSpeakerLabelsExample.java
index fd489820754..a5a0ee99f35 100644
--- a/examples/src/main/java/com/ibm/watson/developer_cloud/speech_to_text/v1/RecognizeUsingWebSocketsWithSpeakerLabelsExample.java
+++ b/examples/src/main/java/com/ibm/watson/developer_cloud/speech_to_text/v1/RecognizeUsingWebSocketsWithSpeakerLabelsExample.java
@@ -12,6 +12,16 @@
*/
package com.ibm.watson.developer_cloud.speech_to_text.v1;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
import com.ibm.watson.developer_cloud.http.HttpMediaType;
import com.ibm.watson.developer_cloud.speech_to_text.v1.model.RecognizeOptions;
import com.ibm.watson.developer_cloud.speech_to_text.v1.model.SpeakerLabel;
@@ -23,16 +33,6 @@
import com.ibm.watson.developer_cloud.speech_to_text.v1.websocket.BaseRecognizeCallback;
import com.ibm.watson.developer_cloud.util.GsonSingleton;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.util.ArrayList;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
public class RecognizeUsingWebSocketsWithSpeakerLabelsExample {
public static class RecoToken {
diff --git a/java-sdk/build.gradle b/java-sdk/build.gradle
index 1832b6dba4e..ea81fbae672 100644
--- a/java-sdk/build.gradle
+++ b/java-sdk/build.gradle
@@ -58,12 +58,12 @@ signArchives {
}
checkstyleTest {
- ignoreFailures = true
+ ignoreFailures = false
}
checkstyle {
configFile = rootProject.file('checkstyle.xml')
- ignoreFailures = true
+ ignoreFailures = false
}
task testJar(type: Jar) {
diff --git a/language-translation/README.md b/language-translation/README.md
index 66180241a3d..8ca7afe0cc8 100644
--- a/language-translation/README.md
+++ b/language-translation/README.md
@@ -8,13 +8,13 @@ Formerly called Language Translation. No code changes are required to migrate.
com.ibm.watson.developer_cloud
language-translator
- 3.7.1
+ 3.7.2
```
##### Gradle
```gradle
-'com.ibm.watson.developer_cloud:language-translator:3.7.1'
+'com.ibm.watson.developer_cloud:language-translator:3.7.2'
```
## Usage
diff --git a/language-translation/build.gradle b/language-translation/build.gradle
index fe5471c1bd0..90bea4844d4 100644
--- a/language-translation/build.gradle
+++ b/language-translation/build.gradle
@@ -51,6 +51,7 @@ signArchives {
checkstyle {
configFile = rootProject.file('checkstyle.xml')
+ ignoreFailures = false
}
dependencies {
diff --git a/language-translator/README.md b/language-translator/README.md
index 66180241a3d..8ca7afe0cc8 100644
--- a/language-translator/README.md
+++ b/language-translator/README.md
@@ -8,13 +8,13 @@ Formerly called Language Translation. No code changes are required to migrate.
com.ibm.watson.developer_cloud
language-translator
- 3.7.1
+ 3.7.2
```
##### Gradle
```gradle
-'com.ibm.watson.developer_cloud:language-translator:3.7.1'
+'com.ibm.watson.developer_cloud:language-translator:3.7.2'
```
## Usage
diff --git a/language-translator/build.gradle b/language-translator/build.gradle
index e802c516ab0..364ba8e67fa 100644
--- a/language-translator/build.gradle
+++ b/language-translator/build.gradle
@@ -51,6 +51,7 @@ signArchives {
checkstyle {
configFile = rootProject.file('checkstyle.xml')
+ ignoreFailures = false
}
dependencies {
diff --git a/language-translator/src/main/java/com/ibm/watson/developer_cloud/language_translator/v2/LanguageTranslator.java b/language-translator/src/main/java/com/ibm/watson/developer_cloud/language_translator/v2/LanguageTranslator.java
index c7063926b1b..0d14c1d460d 100644
--- a/language-translator/src/main/java/com/ibm/watson/developer_cloud/language_translator/v2/LanguageTranslator.java
+++ b/language-translator/src/main/java/com/ibm/watson/developer_cloud/language_translator/v2/LanguageTranslator.java
@@ -50,7 +50,7 @@ public class LanguageTranslator extends WatsonService {
private static final String LANGUAGES = "languages";
private static final String MODELS = "models";
- private static final String SERVICE_NAME = "language_translation";
+ private static final String SERVICE_NAME = "language_translator";
private static final String PATH_IDENTIFY = "/v2/identify";
private static final String PATH_TRANSLATE = "/v2/translate";
private static final String PATH_IDENTIFIABLE_LANGUAGES = "/v2/identifiable_languages";
diff --git a/natural-language-classifier/README.md b/natural-language-classifier/README.md
index 0f9a88b0dfb..973125d3e78 100644
--- a/natural-language-classifier/README.md
+++ b/natural-language-classifier/README.md
@@ -7,13 +7,13 @@
com.ibm.watson.developer_cloud
natural-language-classifier
- 3.7.1
+ 3.7.2
```
##### Gradle
```gradle
-'com.ibm.watson.developer_cloud:natural-language-classifier:3.7.1'
+'com.ibm.watson.developer_cloud:natural-language-classifier:3.7.2'
```
## Usage
diff --git a/natural-language-classifier/build.gradle b/natural-language-classifier/build.gradle
index 8ea18151de4..317d94ae457 100644
--- a/natural-language-classifier/build.gradle
+++ b/natural-language-classifier/build.gradle
@@ -50,12 +50,12 @@ signArchives {
}
checkstyleTest {
- ignoreFailures = true
+ ignoreFailures = false
}
checkstyle {
configFile = rootProject.file('checkstyle.xml')
- ignoreFailures = true
+ ignoreFailures = false
}
dependencies {
diff --git a/natural-language-classifier/src/test/java/com/ibm/watson/developer_cloud/natural_language_classifier/v1/NaturalLanguageClassifierIT.java b/natural-language-classifier/src/test/java/com/ibm/watson/developer_cloud/natural_language_classifier/v1/NaturalLanguageClassifierIT.java
index 2d300fa5131..18a08891957 100644
--- a/natural-language-classifier/src/test/java/com/ibm/watson/developer_cloud/natural_language_classifier/v1/NaturalLanguageClassifierIT.java
+++ b/natural-language-classifier/src/test/java/com/ibm/watson/developer_cloud/natural_language_classifier/v1/NaturalLanguageClassifierIT.java
@@ -21,8 +21,8 @@
import org.junit.Assume;
import org.junit.AssumptionViolatedException;
import org.junit.Before;
-import org.junit.Test;
import org.junit.FixMethodOrder;
+import org.junit.Test;
import org.junit.runners.MethodSorters;
import com.ibm.watson.developer_cloud.WatsonServiceTest;
diff --git a/natural-language-understanding/README.md b/natural-language-understanding/README.md
new file mode 100644
index 00000000000..dbc99cb9d90
--- /dev/null
+++ b/natural-language-understanding/README.md
@@ -0,0 +1,33 @@
+# Natural Language Understanding
+
+## Installation
+
+##### Maven
+```xml
+
+ com.ibm.watson.developer_cloud
+ natural-language-understanding
+ 3.7.2
+
+```
+
+##### Gradle
+```gradle
+'com.ibm.watson.developer_cloud:natural-language-understanding:3.7.2'
+```
+
+## Usage
+Use [Natural Language Understanding](http://www.ibm.com/watson/developercloud/doc/natural-language-understanding/index.html)
+to analyze various features of text content at scale. Provide text, raw HTML, or a public URL, and IBM Watson Natural
+Language Understanding will give you results for the features you request. The service cleans HTML content before
+analysis by default, so the results can ignore most advertisements and other unwanted content.
+
+```java
+NaturalLanguageUnderstanding service = new NaturalLanguageUnderstanding();
+service.setUsernameAndPassword("", "");
+
+EntitiesOptions entities = new EntitiesOptions.Builder().sentiment(true).limit(1).build();
+Features features = new Features.Builder().entities(entities).build();
+AnalyzeOptions parameters = new AnalyzeOptions.Builder().url("www.cnn.com").features(features).build();
+AnalysisResults results = service.analyze(parameters).execute();
+```
diff --git a/natural-language-understanding/build.gradle b/natural-language-understanding/build.gradle
index 4131fcd4723..7158f4f733d 100644
--- a/natural-language-understanding/build.gradle
+++ b/natural-language-understanding/build.gradle
@@ -51,6 +51,7 @@ signArchives {
checkstyle {
configFile = rootProject.file('checkstyle.xml')
+ ignoreFailures = false
}
dependencies {
diff --git a/natural-language-understanding/src/main/java/com/ibm/watson/developer_cloud/natural_language_understanding/v1/NaturalLanguageUnderstanding.java b/natural-language-understanding/src/main/java/com/ibm/watson/developer_cloud/natural_language_understanding/v1/NaturalLanguageUnderstanding.java
index 89bcaf5c650..ed73bbf1ec0 100644
--- a/natural-language-understanding/src/main/java/com/ibm/watson/developer_cloud/natural_language_understanding/v1/NaturalLanguageUnderstanding.java
+++ b/natural-language-understanding/src/main/java/com/ibm/watson/developer_cloud/natural_language_understanding/v1/NaturalLanguageUnderstanding.java
@@ -16,8 +16,8 @@
import com.ibm.watson.developer_cloud.http.RequestBuilder;
import com.ibm.watson.developer_cloud.http.ServiceCall;
import com.ibm.watson.developer_cloud.natural_language_understanding.v1.model.AnalysisResults;
-import com.ibm.watson.developer_cloud.natural_language_understanding.v1.model.ListModelsResults;
import com.ibm.watson.developer_cloud.natural_language_understanding.v1.model.AnalyzeOptions;
+import com.ibm.watson.developer_cloud.natural_language_understanding.v1.model.ListModelsResults;
import com.ibm.watson.developer_cloud.service.WatsonService;
import com.ibm.watson.developer_cloud.util.GsonSingleton;
import com.ibm.watson.developer_cloud.util.ResponseConverterUtils;
diff --git a/natural-language-understanding/src/main/java/com/ibm/watson/developer_cloud/natural_language_understanding/v1/model/DisambiguationResult.java b/natural-language-understanding/src/main/java/com/ibm/watson/developer_cloud/natural_language_understanding/v1/model/DisambiguationResult.java
new file mode 100644
index 00000000000..a0ca461b172
--- /dev/null
+++ b/natural-language-understanding/src/main/java/com/ibm/watson/developer_cloud/natural_language_understanding/v1/model/DisambiguationResult.java
@@ -0,0 +1,85 @@
+/*
+ * Copyright 2017 IBM Corp. All Rights Reserved.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on
+ * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations under the License.
+ */
+package com.ibm.watson.developer_cloud.natural_language_understanding.v1.model;
+
+import java.util.List;
+
+import com.google.gson.annotations.SerializedName;
+import com.ibm.watson.developer_cloud.service.model.GenericModel;
+
+/**
+ * Disambiguation information for the entity.
+ */
+public class DisambiguationResult extends GenericModel {
+
+ /** Common entity name. */
+ private String name;
+ @SerializedName("dbpedia_resource")
+ private String dbpediaResource;
+ /** Entity subtype information. */
+ private List subtype;
+
+ /**
+ * Gets the name.
+ *
+ * @return the name
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Gets the dbpediaResource.
+ *
+ * @return the dbpediaResource
+ */
+ public String getDbpediaResource() {
+ return dbpediaResource;
+ }
+
+ /**
+ * Gets the subtype.
+ *
+ * @return the subtype
+ */
+ public List getSubtype() {
+ return subtype;
+ }
+
+ /**
+ * Sets the name.
+ *
+ * @param name the new name
+ */
+ public void setName(final String name) {
+ this.name = name;
+ }
+
+ /**
+ * Sets the dbpediaResource.
+ *
+ * @param dbpediaResource the new dbpediaResource
+ */
+ public void setDbpediaResource(final String dbpediaResource) {
+ this.dbpediaResource = dbpediaResource;
+ }
+
+ /**
+ * Sets the subtype.
+ *
+ * @param subtype the new subtype
+ */
+ public void setSubtype(final List subtype) {
+ this.subtype = subtype;
+ }
+}
diff --git a/natural-language-understanding/src/main/java/com/ibm/watson/developer_cloud/natural_language_understanding/v1/model/EntitiesResult.java b/natural-language-understanding/src/main/java/com/ibm/watson/developer_cloud/natural_language_understanding/v1/model/EntitiesResult.java
index 5a4aedb962b..2943d04b987 100644
--- a/natural-language-understanding/src/main/java/com/ibm/watson/developer_cloud/natural_language_understanding/v1/model/EntitiesResult.java
+++ b/natural-language-understanding/src/main/java/com/ibm/watson/developer_cloud/natural_language_understanding/v1/model/EntitiesResult.java
@@ -27,10 +27,12 @@ public class EntitiesResult extends GenericModel {
private Integer count;
/** The name of the entity. */
private String text;
- /** Emotion analysis results for the entity, enabled with the \"emotion\" option. */
+ /** Emotion analysis results for the entity, enabled with the "emotion" option. */
private EmotionScores emotion;
- /** Sentiment analysis results for the entity, enabled with the \"sentiment\" option. */
+ /** Sentiment analysis results for the entity, enabled with the "sentiment" option. */
private FeatureSentimentResults sentiment;
+ /** Disambiguation information for the entity. */
+ private DisambiguationResult disambiguation;
/**
* Gets the type.
@@ -86,6 +88,15 @@ public FeatureSentimentResults getSentiment() {
return sentiment;
}
+ /**
+ * Gets the disambiguation.
+ *
+ * @return the disambiguation
+ */
+ public DisambiguationResult getDisambiguation() {
+ return disambiguation;
+ }
+
/**
* Sets the type.
*
@@ -140,4 +151,12 @@ public void setSentiment(final FeatureSentimentResults sentiment) {
this.sentiment = sentiment;
}
+ /**
+ * Sets the disambiguation.
+ *
+ * @param disambiguation the new disambiguation
+ */
+ public void setDisambiguation(final DisambiguationResult disambiguation) {
+ this.disambiguation = disambiguation;
+ }
}
diff --git a/natural-language-understanding/src/test/java/com/ibm/watson/developer_cloud/natural_language_understanding/v1/NaturalLanguageUnderstandingIT.java b/natural-language-understanding/src/test/java/com/ibm/watson/developer_cloud/natural_language_understanding/v1/NaturalLanguageUnderstandingIT.java
index 85fc1d58f1c..80bc4928085 100644
--- a/natural-language-understanding/src/test/java/com/ibm/watson/developer_cloud/natural_language_understanding/v1/NaturalLanguageUnderstandingIT.java
+++ b/natural-language-understanding/src/test/java/com/ibm/watson/developer_cloud/natural_language_understanding/v1/NaturalLanguageUnderstandingIT.java
@@ -25,6 +25,7 @@
import org.junit.Before;
import org.junit.FixMethodOrder;
import org.junit.Test;
+import org.junit.runner.RunWith;
import org.junit.runners.MethodSorters;
import com.ibm.watson.developer_cloud.WatsonServiceTest;
@@ -49,11 +50,13 @@
import com.ibm.watson.developer_cloud.natural_language_understanding.v1.model.SemanticRolesResult;
import com.ibm.watson.developer_cloud.natural_language_understanding.v1.model.SentimentOptions;
import com.ibm.watson.developer_cloud.natural_language_understanding.v1.model.TargetedSentimentResults;
+import com.ibm.watson.developer_cloud.util.RetryRunner;
/**
- * The Class NaturalLanguageunderstandingTest.
+ * Natural Language Understanding integration tests.
*/
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
+@RunWith(RetryRunner.class)
public class NaturalLanguageUnderstandingIT extends WatsonServiceTest {
private NaturalLanguageUnderstanding service;
@@ -495,4 +498,31 @@ public void analyzeTextForCategoriesIsSuccessful() throws Exception {
assertNotNull(result.getScore());
}
}
+
+ /**
+ * Analyze html for disambiguation.
+ *
+ * @throws Exception the exception
+ */
+ @Test
+ public void analyzeHtmlForDisambiguationIsSuccessful() throws Exception {
+ EntitiesOptions entities = new EntitiesOptions.Builder().sentiment(true).limit(1).build();
+ Features features = new Features.Builder().entities(entities).build();
+ AnalyzeOptions parameters =
+ new AnalyzeOptions.Builder().url("www.cnn.com").features(features).build();
+
+ AnalysisResults results = service.analyze(parameters).execute();
+
+ assertNotNull(results);
+ assertEquals(results.getLanguage(), "en");
+ assertNotNull(results.getEntities());
+ assertTrue(results.getEntities().size() == 1);
+ for (EntitiesResult result : results.getEntities()) {
+ assertNotNull(result.getDisambiguation());
+ assertEquals(result.getDisambiguation().getName(), "CNN");
+ assertEquals(result.getDisambiguation().getDbpediaResource(), "http://dbpedia.org/resource/CNN");
+ assertNotNull(result.getDisambiguation().getSubtype());
+ assertTrue(result.getDisambiguation().getSubtype().size() > 0);
+ }
+ }
}
diff --git a/personality-insights/README.md b/personality-insights/README.md
index 1755a0623ea..e67105e1f28 100644
--- a/personality-insights/README.md
+++ b/personality-insights/README.md
@@ -7,13 +7,13 @@
com.ibm.watson.developer_cloud
personality-insights
- 3.7.1
+ 3.7.2
```
##### Gradle
```gradle
-'com.ibm.watson.developer_cloud:personality-insights:3.7.1'
+'com.ibm.watson.developer_cloud:personality-insights:3.7.2'
```
## Usage
diff --git a/personality-insights/build.gradle b/personality-insights/build.gradle
index ceaaa4581dd..01ee609fec7 100644
--- a/personality-insights/build.gradle
+++ b/personality-insights/build.gradle
@@ -51,6 +51,7 @@ signArchives {
checkstyle {
configFile = rootProject.file('checkstyle.xml')
+ ignoreFailures = false
}
dependencies {
diff --git a/retrieve-and-rank/README.md b/retrieve-and-rank/README.md
index 3c4f8a55203..0f261cc79bb 100644
--- a/retrieve-and-rank/README.md
+++ b/retrieve-and-rank/README.md
@@ -7,13 +7,13 @@
com.ibm.watson.developer_cloud
retrieve-and-rank
- 3.7.1
+ 3.7.2
```
##### Gradle
```gradle
-'com.ibm.watson.developer_cloud:retrieve-and-rank:3.7.1'
+'com.ibm.watson.developer_cloud:retrieve-and-rank:3.7.2'
```
## Usage
diff --git a/retrieve-and-rank/build.gradle b/retrieve-and-rank/build.gradle
index bee1cb9be16..111a0dfb6aa 100644
--- a/retrieve-and-rank/build.gradle
+++ b/retrieve-and-rank/build.gradle
@@ -51,6 +51,7 @@ signArchives {
checkstyle {
configFile = rootProject.file('checkstyle.xml')
+ ignoreFailures = false
}
dependencies {
diff --git a/retrieve-and-rank/src/test/java/com/ibm/watson/developer_cloud/retrieve_and_rank/v1/RetrieveAndRankIT.java b/retrieve-and-rank/src/test/java/com/ibm/watson/developer_cloud/retrieve_and_rank/v1/RetrieveAndRankIT.java
index 8276198c8c4..87270ae9b1b 100644
--- a/retrieve-and-rank/src/test/java/com/ibm/watson/developer_cloud/retrieve_and_rank/v1/RetrieveAndRankIT.java
+++ b/retrieve-and-rank/src/test/java/com/ibm/watson/developer_cloud/retrieve_and_rank/v1/RetrieveAndRankIT.java
@@ -31,6 +31,7 @@
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
+import org.junit.runner.RunWith;
import com.ibm.watson.developer_cloud.WatsonServiceTest;
import com.ibm.watson.developer_cloud.retrieve_and_rank.v1.model.Ranker;
@@ -43,10 +44,12 @@
import com.ibm.watson.developer_cloud.retrieve_and_rank.v1.model.SolrClusterStats;
import com.ibm.watson.developer_cloud.service.exception.BadRequestException;
import com.ibm.watson.developer_cloud.service.exception.NotFoundException;
+import com.ibm.watson.developer_cloud.util.RetryRunner;
/**
* The Class RetrieveAndRankIT.
*/
+@RunWith(RetryRunner.class)
public class RetrieveAndRankIT extends WatsonServiceTest {
private static final Integer CREATED_CLUSTER_SIZE_ONE = 1;
diff --git a/speech-to-text/README.md b/speech-to-text/README.md
index 467148c2e65..bf00dea16f9 100644
--- a/speech-to-text/README.md
+++ b/speech-to-text/README.md
@@ -7,13 +7,13 @@
com.ibm.watson.developer_cloud
speech-to-text
- 3.7.1
+ 3.7.2
```
##### Gradle
```gradle
-'com.ibm.watson.developer_cloud:speech-to-text:3.7.1'
+'com.ibm.watson.developer_cloud:speech-to-text:3.7.2'
```
## Usage
diff --git a/speech-to-text/build.gradle b/speech-to-text/build.gradle
index 52a1e240f0b..61e34327000 100644
--- a/speech-to-text/build.gradle
+++ b/speech-to-text/build.gradle
@@ -49,8 +49,13 @@ signArchives {
}
}
+checkstyleTest {
+ ignoreFailures = false
+}
+
checkstyle {
configFile = rootProject.file('checkstyle.xml')
+ ignoreFailures = false
}
dependencies {
diff --git a/speech-to-text/src/main/java/com/ibm/watson/developer_cloud/speech_to_text/v1/model/RecognizeOptions.java b/speech-to-text/src/main/java/com/ibm/watson/developer_cloud/speech_to_text/v1/model/RecognizeOptions.java
index a4261dcdc6c..461d42fec5c 100755
--- a/speech-to-text/src/main/java/com/ibm/watson/developer_cloud/speech_to_text/v1/model/RecognizeOptions.java
+++ b/speech-to-text/src/main/java/com/ibm/watson/developer_cloud/speech_to_text/v1/model/RecognizeOptions.java
@@ -12,9 +12,12 @@
*/
package com.ibm.watson.developer_cloud.speech_to_text.v1.model;
+import java.io.InputStream;
+
import com.google.gson.annotations.SerializedName;
import com.ibm.watson.developer_cloud.http.HttpMediaType;
import com.ibm.watson.developer_cloud.speech_to_text.v1.SpeechToText;
+import com.ibm.watson.developer_cloud.speech_to_text.v1.websocket.RecognizeCallback;
import com.ibm.watson.developer_cloud.util.Validator;
import okhttp3.MediaType;
@@ -121,7 +124,7 @@ public Builder smartFormatting(Boolean smartFormatting) {
/**
* If true, adds speaker labels to the transcript.
*
- * @param speakerLabels Labels or "diarization"
+ * @param speakerLabels Labels or "diarization"
* @return the recognize options
*/
public Builder speakerLabels(Boolean speakerLabels) {
@@ -167,7 +170,9 @@ public Builder inactivityTimeout(Integer inactivityTimeout) {
/**
* If true, the service sends interim results for the transcription. Otherwise, the recognition ends after first
- * "end of speech" is detected. The default is false.
+ * "end of speech" is detected. The default is false. This option is only supported with the
+ * {@link SpeechToText#recognizeUsingWebSocket(InputStream, RecognizeOptions, RecognizeCallback)}
+ * method.
*
* @param interimResults the interim results
* @return the recognize options
diff --git a/speech-to-text/src/main/java/com/ibm/watson/developer_cloud/speech_to_text/v1/websocket/BaseRecognizeCallback.java b/speech-to-text/src/main/java/com/ibm/watson/developer_cloud/speech_to_text/v1/websocket/BaseRecognizeCallback.java
index cc0d138d1b4..f20cfbe0647 100755
--- a/speech-to-text/src/main/java/com/ibm/watson/developer_cloud/speech_to_text/v1/websocket/BaseRecognizeCallback.java
+++ b/speech-to-text/src/main/java/com/ibm/watson/developer_cloud/speech_to_text/v1/websocket/BaseRecognizeCallback.java
@@ -13,11 +13,11 @@
*/
package com.ibm.watson.developer_cloud.speech_to_text.v1.websocket;
-import com.ibm.watson.developer_cloud.speech_to_text.v1.model.SpeechResults;
-
import java.util.logging.Level;
import java.util.logging.Logger;
+import com.ibm.watson.developer_cloud.speech_to_text.v1.model.SpeechResults;
+
/**
* An empty implementation of {@link RecognizeCallback} interface.
*/
diff --git a/speech-to-text/src/test/java/com/ibm/watson/developer_cloud/speech_to_text/v1/SpeechToTextIT.java b/speech-to-text/src/test/java/com/ibm/watson/developer_cloud/speech_to_text/v1/SpeechToTextIT.java
index 0835bbf7f1d..3bb6c596ec0 100755
--- a/speech-to-text/src/test/java/com/ibm/watson/developer_cloud/speech_to_text/v1/SpeechToTextIT.java
+++ b/speech-to-text/src/test/java/com/ibm/watson/developer_cloud/speech_to_text/v1/SpeechToTextIT.java
@@ -23,12 +23,13 @@
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;
+import org.junit.Assume;
+import org.junit.Before;
import org.junit.Ignore;
import org.junit.Rule;
-import org.junit.Before;
-import org.junit.Assume;
import org.junit.Test;
import org.junit.rules.ExpectedException;
+import org.junit.runner.RunWith;
import com.ibm.watson.developer_cloud.WatsonServiceTest;
import com.ibm.watson.developer_cloud.http.HttpMediaType;
@@ -47,14 +48,16 @@
import com.ibm.watson.developer_cloud.speech_to_text.v1.model.SpeechWordAlternatives;
import com.ibm.watson.developer_cloud.speech_to_text.v1.model.Transcript;
import com.ibm.watson.developer_cloud.speech_to_text.v1.model.Word;
-import com.ibm.watson.developer_cloud.speech_to_text.v1.model.Word.Type;
import com.ibm.watson.developer_cloud.speech_to_text.v1.model.Word.Sort;
+import com.ibm.watson.developer_cloud.speech_to_text.v1.model.Word.Type;
import com.ibm.watson.developer_cloud.speech_to_text.v1.model.WordData;
import com.ibm.watson.developer_cloud.speech_to_text.v1.websocket.BaseRecognizeCallback;
+import com.ibm.watson.developer_cloud.util.RetryRunner;
/**
* Speech to text Integration tests.
*/
+@RunWith(RetryRunner.class)
public class SpeechToTextIT extends WatsonServiceTest {
private static final String EN_BROADBAND16K = "en-US_BroadbandModel";
diff --git a/speech-to-text/src/test/java/com/ibm/watson/developer_cloud/speech_to_text/v1/SpeechToTextTest.java b/speech-to-text/src/test/java/com/ibm/watson/developer_cloud/speech_to_text/v1/SpeechToTextTest.java
index 272130ca849..283e2fbe07d 100755
--- a/speech-to-text/src/test/java/com/ibm/watson/developer_cloud/speech_to_text/v1/SpeechToTextTest.java
+++ b/speech-to-text/src/test/java/com/ibm/watson/developer_cloud/speech_to_text/v1/SpeechToTextTest.java
@@ -33,10 +33,6 @@
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;
-import com.ibm.watson.developer_cloud.speech_to_text.v1.websocket.RecognizeCallback;
-import okhttp3.WebSocket;
-import okhttp3.internal.ws.WebSocketRecorder;
-import okio.ByteString;
import org.junit.Before;
import org.junit.FixMethodOrder;
import org.junit.Test;
@@ -60,15 +56,19 @@
import com.ibm.watson.developer_cloud.speech_to_text.v1.model.SpeechSession;
import com.ibm.watson.developer_cloud.speech_to_text.v1.model.Transcript;
import com.ibm.watson.developer_cloud.speech_to_text.v1.model.Word;
-import com.ibm.watson.developer_cloud.speech_to_text.v1.model.Word.Type;
import com.ibm.watson.developer_cloud.speech_to_text.v1.model.Word.Sort;
+import com.ibm.watson.developer_cloud.speech_to_text.v1.model.Word.Type;
import com.ibm.watson.developer_cloud.speech_to_text.v1.model.WordData;
import com.ibm.watson.developer_cloud.speech_to_text.v1.util.MediaTypeUtils;
+import com.ibm.watson.developer_cloud.speech_to_text.v1.websocket.RecognizeCallback;
import com.ibm.watson.developer_cloud.util.GsonSingleton;
import com.ibm.watson.developer_cloud.util.TestUtils;
+import okhttp3.WebSocket;
+import okhttp3.internal.ws.WebSocketRecorder;
import okhttp3.mockwebserver.MockResponse;
import okhttp3.mockwebserver.RecordedRequest;
+import okio.ByteString;
/**
* The Class SpeechToTextTest.
diff --git a/speech-to-text/src/test/java/okhttp3/internal/ws/WebSocketRecorder.java b/speech-to-text/src/test/java/okhttp3/internal/ws/WebSocketRecorder.java
index 815523881d8..bfbda92e765 100755
--- a/speech-to-text/src/test/java/okhttp3/internal/ws/WebSocketRecorder.java
+++ b/speech-to-text/src/test/java/okhttp3/internal/ws/WebSocketRecorder.java
@@ -15,10 +15,16 @@
*/
package okhttp3.internal.ws;
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertSame;
+import static org.junit.Assert.assertTrue;
+
import java.io.IOException;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.TimeUnit;
+
import okhttp3.Response;
import okhttp3.WebSocket;
import okhttp3.WebSocketListener;
@@ -26,11 +32,6 @@
import okhttp3.internal.platform.Platform;
import okio.ByteString;
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertSame;
-import static org.junit.Assert.assertTrue;
-
public final class WebSocketRecorder extends WebSocketListener {
private final String name;
private final BlockingQueue