use of com.ibm.watson.discovery.v1.model.DocumentAccepted in project java-sdk by watson-developer-cloud.
the class DiscoveryServiceTest method addDocumentFromInputStreamWithFileNameAndMediaTypeIsSuccessful.
@Test
public void addDocumentFromInputStreamWithFileNameAndMediaTypeIsSuccessful() 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());
AddDocumentOptions.Builder builder = new AddDocumentOptions.Builder(environmentId, collectionId);
builder.file(documentStream).fileContentType(HttpMediaType.APPLICATION_JSON);
builder.filename("test_file");
builder.metadata(myMetadata.toString());
DocumentAccepted response = discoveryService.addDocument(builder.build()).execute();
RecordedRequest request = server.takeRequest();
assertEquals(DOCS1_PATH, request.getPath());
assertEquals(POST, request.getMethod());
assertEquals(createDocResp, response);
}
use of com.ibm.watson.discovery.v1.model.DocumentAccepted in project java-sdk by watson-developer-cloud.
the class DiscoveryServiceIT method setupTestDocuments.
private synchronized String setupTestDocuments() {
if (collectionId != null) {
return collectionId;
}
Collection collection = createTestCollection();
String collectionId = collection.getCollectionId();
@SuppressWarnings("unused") List<DocumentAccepted> documentAccepted = createTestDocuments(collectionId, 10);
WaitFor.Condition collectionAvailable = new WaitForCollectionAvailable(environmentId, collectionId);
WaitFor.waitFor(collectionAvailable, 5, TimeUnit.SECONDS, 500);
return collectionId;
}
use of com.ibm.watson.discovery.v1.model.DocumentAccepted in project java-sdk by watson-developer-cloud.
the class DiscoveryServiceIT method updateDocumentIsSuccessful.
@Test
public void updateDocumentIsSuccessful() {
Collection collection = createTestCollection();
String collectionId = collection.getCollectionId();
DocumentAccepted documentAccepted = createTestDocument("test_document", collectionId);
uniqueName = UUID.randomUUID().toString();
Configuration testConfig = createTestConfig();
String myDocumentJson = "{\"field\":\"value2\"}";
InputStream documentStream = new ByteArrayInputStream(myDocumentJson.getBytes());
UpdateDocumentOptions.Builder updateBuilder = new UpdateDocumentOptions.Builder(environmentId, collectionId, documentAccepted.getDocumentId());
updateBuilder.file(documentStream).fileContentType(HttpMediaType.APPLICATION_JSON);
updateBuilder.filename("test_file");
// updateBuilder.configurationId(testConfig.getConfigurationId());
DocumentAccepted updateResponse = discovery.updateDocument(updateBuilder.build()).execute();
GetDocumentStatusOptions getOptions = new GetDocumentStatusOptions.Builder(environmentId, collectionId, updateResponse.getDocumentId()).build();
DocumentStatus getResponse = discovery.getDocumentStatus(getOptions).execute();
assertTrue(getResponse.getStatus().equals(DocumentStatus.Status.AVAILABLE) || getResponse.getStatus().equals(DocumentStatus.Status.PROCESSING));
}
use of com.ibm.watson.discovery.v1.model.DocumentAccepted in project java-sdk by watson-developer-cloud.
the class DiscoveryServiceIT method updateAnotherDocumentIsSuccessful.
@Test
public void updateAnotherDocumentIsSuccessful() {
Collection collection = createTestCollection();
String collectionId = collection.getCollectionId();
JsonObject myMetadata = new JsonObject();
myMetadata.add("foo", new JsonPrimitive("bar"));
AddDocumentOptions.Builder builder = new AddDocumentOptions.Builder(environmentId, collectionId);
builder.metadata(myMetadata.toString());
DocumentAccepted documentAccepted = discovery.addDocument(builder.build()).execute();
String myDocumentJson = "{\"field\":\"value2\"}";
InputStream documentStream = new ByteArrayInputStream(myDocumentJson.getBytes());
UpdateDocumentOptions.Builder updateBuilder = new UpdateDocumentOptions.Builder(environmentId, collectionId, documentAccepted.getDocumentId());
updateBuilder.file(documentStream).fileContentType(HttpMediaType.APPLICATION_JSON);
updateBuilder.filename("test_file");
DocumentAccepted updateResponse = discovery.updateDocument(updateBuilder.build()).execute();
GetDocumentStatusOptions getOptions = new GetDocumentStatusOptions.Builder(environmentId, collectionId, updateResponse.getDocumentId()).build();
DocumentStatus getResponse = discovery.getDocumentStatus(getOptions).execute();
assertTrue(getResponse.getStatus().equals(DocumentStatus.Status.AVAILABLE) || getResponse.getStatus().equals(DocumentStatus.Status.PROCESSING));
}
use of com.ibm.watson.discovery.v1.model.DocumentAccepted in project java-sdk by watson-developer-cloud.
the class DiscoveryV2Example method main.
public static void main(String[] args) throws IOException {
Authenticator authenticator = new BearerTokenAuthenticator("{bearer_token}");
Discovery service = new Discovery("2019-11-22", authenticator);
service.setServiceUrl("{url}");
// This example assumes you have a project and collection set up which can accept documents.
// Paste those
// IDs below.
String projectId = "";
String collectionId = "";
// Add a new document to our collection. Fill in the file path with the file you want to send.
InputStream file = new FileInputStream("");
AddDocumentOptions addDocumentOptions = new AddDocumentOptions.Builder().projectId(projectId).collectionId(collectionId).file(file).filename("example-file").build();
DocumentAccepted addResponse = service.addDocument(addDocumentOptions).execute().getResult();
String documentId = addResponse.getDocumentId();
// Query your collection with the new document inside.
QueryOptions queryOptions = new QueryOptions.Builder().projectId(projectId).addCollectionIds(collectionId).naturalLanguageQuery(// Feel free to replace this to query something different.
"Watson").build();
QueryResponse queryResponse = service.query(queryOptions).execute().getResult();
System.out.println(queryResponse.getMatchingResults() + " results were returned by the query!");
// See if the added document got returned by the query.
for (QueryResult result : queryResponse.getResults()) {
if (result.getDocumentId().equals(documentId)) {
System.out.println("Our new document matched the query!");
}
}
// Delete our uploaded document from the collection.
DeleteDocumentOptions deleteDocumentOptions = new DeleteDocumentOptions.Builder().projectId(projectId).collectionId(collectionId).documentId(documentId).build();
service.deleteDocument(deleteDocumentOptions).execute();
}
Aggregations