use of com.ibm.watson.developer_cloud.natural_language_classifier.v1.model.ClassifyOptions in project jbpm-work-items by kiegroup.
the class ClassifyImageWorkitemHandler method executeWorkItem.
public void executeWorkItem(WorkItem workItem, WorkItemManager workItemManager) {
Document classificationImage = (Document) workItem.getParameter("ImageToClassify");
Map<String, Object> widResults = new HashMap<String, Object>();
if (classificationImage != null) {
try {
VisualRecognition service = auth.getService(apiKey);
ByteArrayInputStream imageStream = new ByteArrayInputStream(classificationImage.getContent());
ClassifyOptions classifyOptions = new ClassifyOptions.Builder().imagesFile(imageStream).imagesFilename(classificationImage.getName()).parameters("{\"owners\": [\"me\"]}").build();
ClassifiedImage result = service.classify(classifyOptions).execute().getImages().get(0);
if (result.getError() != null) {
ErrorInfo errorInfo = result.getError();
logger.error("Error classifying image: " + errorInfo.getDescription());
workItemManager.abortWorkItem(workItem.getId());
} else {
List<ImageClassificationResult> resultList = new ArrayList<>();
for (ClassifierResult classification : result.getClassifiers()) {
for (ClassResult classResult : classification.getClasses()) {
resultList.add(new ImageClassificationResult(classification, classResult));
}
widResults.put(RESULT_VALUE, resultList);
}
workItemManager.completeWorkItem(workItem.getId(), widResults);
}
} catch (Exception e) {
handleException(e);
}
} else {
logger.error("Missing image for classification.");
throw new IllegalArgumentException("Missing image for classification.");
}
}
use of com.ibm.watson.developer_cloud.natural_language_classifier.v1.model.ClassifyOptions in project java-sdk by watson-developer-cloud.
the class NaturalLanguageClassifierIT method dClassify.
/**
* Test classify. Use the pre created classifier to avoid waiting for availability
*/
@Test
public void dClassify() {
Classification classification = null;
try {
ClassifyOptions classifyOptions = new ClassifyOptions.Builder().classifierId(preCreatedClassifierId).text("is it hot outside?").build();
classification = service.classify(classifyOptions).execute();
} catch (NotFoundException e) {
// The build should not fail here, because this is out of our control.
throw new AssumptionViolatedException(e.getMessage(), e);
}
assertNotNull(classification);
assertEquals("temperature", classification.getTopClass());
}
use of com.ibm.watson.developer_cloud.natural_language_classifier.v1.model.ClassifyOptions in project java-sdk by watson-developer-cloud.
the class NaturalLanguageClassifierIT method fClassifyCollection.
/**
* Test classifyCollection. Use the pre created classifier to avoid waiting for availability
*/
@Test
public void fClassifyCollection() {
ClassificationCollection classificationCollection = null;
ClassifyInput input1 = new ClassifyInput();
input1.setText("How hot will it be today?");
ClassifyInput input2 = new ClassifyInput();
input2.setText("Is it hot outside?");
try {
ClassifyCollectionOptions classifyOptions = new ClassifyCollectionOptions.Builder().classifierId(preCreatedClassifierId).addClassifyInput(input1).addClassifyInput(input2).build();
classificationCollection = service.classifyCollection(classifyOptions).execute();
} catch (NotFoundException e) {
// The build should not fail here, because this is out of our control.
throw new AssumptionViolatedException(e.getMessage(), e);
}
assertNotNull(classificationCollection);
assertEquals("temperature", classificationCollection.getCollection().get(0).getTopClass());
assertEquals("temperature", classificationCollection.getCollection().get(1).getTopClass());
}
use of com.ibm.watson.developer_cloud.natural_language_classifier.v1.model.ClassifyOptions in project java-sdk by watson-developer-cloud.
the class NaturalLanguageClassifierTest method testNullText.
/**
* Test null text.
*/
@Test(expected = IllegalArgumentException.class)
public void testNullText() {
ClassifyOptions classifyOptions = new ClassifyOptions.Builder().classifierId(classifierId).build();
service.classify(classifyOptions);
}
use of com.ibm.watson.developer_cloud.natural_language_classifier.v1.model.ClassifyOptions in project java-sdk by watson-developer-cloud.
the class NaturalLanguageClassifierTest method testNullClassifier.
// START NEGATIVE TESTS
/**
* Test null classifier.
*/
@Test(expected = IllegalArgumentException.class)
public void testNullClassifier() {
ClassifyOptions classifyOptions = new ClassifyOptions.Builder().text("test").build();
service.classify(classifyOptions);
}
Aggregations