From 136634a48f5df9ef95f0d3f4a101e90b68c91f61 Mon Sep 17 00:00:00 2001 From: Jason Dobry Date: Wed, 7 Dec 2016 13:00:27 -0800 Subject: [PATCH] Add NL quickstart sample. Fix some other quickstarts. --- .../example/datastore/QuickstartSampleIT.java | 1 - language/cloud-client/README.md | 30 +++++++++ language/cloud-client/pom.xml | 57 +++++++++++++++++ .../example/language/QuickstartSample.java | 44 +++++++++++++ .../example/language/QuickstartSampleIT.java | 61 +++++++++++++++++++ .../example/pubsub/QuickstartSampleIT.java | 1 - .../example/storage/QuickstartSampleIT.java | 1 - translate/cloud-client/README.md | 5 +- .../example/translate/QuickstartSampleIT.java | 1 - 9 files changed, 194 insertions(+), 7 deletions(-) create mode 100644 language/cloud-client/README.md create mode 100644 language/cloud-client/pom.xml create mode 100644 language/cloud-client/src/main/java/com/example/language/QuickstartSample.java create mode 100644 language/cloud-client/src/test/java/com/example/language/QuickstartSampleIT.java diff --git a/datastore/cloud-client/src/test/java/com/example/datastore/QuickstartSampleIT.java b/datastore/cloud-client/src/test/java/com/example/datastore/QuickstartSampleIT.java index 8257a208228..3bf69d77b73 100644 --- a/datastore/cloud-client/src/test/java/com/example/datastore/QuickstartSampleIT.java +++ b/datastore/cloud-client/src/test/java/com/example/datastore/QuickstartSampleIT.java @@ -69,4 +69,3 @@ public void testQuickstart() throws Exception { assertThat(got).contains("Saved sampletask1: Buy milk"); } } -// [END datastore_quickstart] diff --git a/language/cloud-client/README.md b/language/cloud-client/README.md new file mode 100644 index 00000000000..fce53f88da0 --- /dev/null +++ b/language/cloud-client/README.md @@ -0,0 +1,30 @@ +# Getting Started with Google Cloud Natural Language API and the Google Cloud Client libraries + +[Google Cloud Natural Language API][language] provides natural language +understanding technologies to developers, including sentiment analysis, entity +recognition, and syntax analysis. This API is part of the larger collection of +Cloud Machine Learning APIs. + +These sample Java applications demonstrate how to access the Cloud Natural +Language API using the [Google Cloud Client Library for Java][google-cloud-java]. + +[language]: https://cloud.google.com/natural-language/docs/ +[google-cloud-java]: https://github.com/GoogleCloudPlatform/google-cloud-java + +## Quickstart + +Install [Maven](http://maven.apache.org/). + +Build your project with: + + mvn clean package -DskipTests + +You can then run a given `ClassName` via: + + mvn exec:java -Dexec.mainClass=com.example.language.ClassName \ + -DpropertyName=propertyValue \ + -Dexec.args="arg1 'arg 2' arg3" + +### Analyze a string for sentiment (using the quickstart sample) + + mvn exec:java -Dexec.mainClass=com.example.language.QuickstartSample diff --git a/language/cloud-client/pom.xml b/language/cloud-client/pom.xml new file mode 100644 index 00000000000..81f665847b4 --- /dev/null +++ b/language/cloud-client/pom.xml @@ -0,0 +1,57 @@ + + + 4.0.0 + com.example.language + language-google-cloud-samples + jar + + + + doc-samples + com.google.cloud + 1.0.0 + ../.. + + + + 1.8 + 1.8 + UTF-8 + + + + + com.google.cloud + google-cloud-language + 0.7.0 + + + + + junit + junit + 4.12 + test + + + com.google.truth + truth + 0.30 + test + + + diff --git a/language/cloud-client/src/main/java/com/example/language/QuickstartSample.java b/language/cloud-client/src/main/java/com/example/language/QuickstartSample.java new file mode 100644 index 00000000000..215518e15e1 --- /dev/null +++ b/language/cloud-client/src/main/java/com/example/language/QuickstartSample.java @@ -0,0 +1,44 @@ +/* + Copyright 2016, Google, Inc. + + 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.example.language; + +// [START language_quickstart] +// Imports the Google Cloud client library +import com.google.cloud.language.spi.v1.LanguageServiceClient; + +import com.google.cloud.language.v1.Document; +import com.google.cloud.language.v1.Document.Type; +import com.google.cloud.language.v1.Sentiment; + +public class QuickstartSample { + public static void main(String... args) throws Exception { + // Instantiates a client + LanguageServiceClient language = LanguageServiceClient.create(); + + // The text to analyze + String text = "Hello, world!"; + Document doc = Document.newBuilder() + .setContent(text).setType(Type.PLAIN_TEXT).build(); + + // Detects the sentiment of the text + Sentiment sentiment = language.analyzeSentiment(doc).getDocumentSentiment(); + + System.out.printf("Text: %s%n", text); + System.out.printf("Sentiment: %s, %s%n", sentiment.getScore(), sentiment.getMagnitude()); + } +} +// [END language_quickstart] diff --git a/language/cloud-client/src/test/java/com/example/language/QuickstartSampleIT.java b/language/cloud-client/src/test/java/com/example/language/QuickstartSampleIT.java new file mode 100644 index 00000000000..e4e48ec2081 --- /dev/null +++ b/language/cloud-client/src/test/java/com/example/language/QuickstartSampleIT.java @@ -0,0 +1,61 @@ +/* + Copyright 2016, Google, Inc. + + 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.example.language; + +import static com.google.common.truth.Truth.assertThat; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.junit.runners.JUnit4; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +/** + * Tests for quickstart sample. + */ +@RunWith(JUnit4.class) +@SuppressWarnings("checkstyle:abbreviationaswordinname") +public class QuickstartSampleIT { + private ByteArrayOutputStream bout; + private PrintStream out; + + @Before + public void setUp() { + bout = new ByteArrayOutputStream(); + out = new PrintStream(bout); + System.setOut(out); + } + + @After + public void tearDown() { + System.setOut(null); + } + + @Test + public void testQuickstart() throws Exception { + // Act + QuickstartSample.main(); + + // Assert + String got = bout.toString(); + assertThat(got).contains("Text: Hello, world!"); + assertThat(got).contains("Sentiment: "); + } +} diff --git a/pubsub/cloud-client/src/test/java/com/example/pubsub/QuickstartSampleIT.java b/pubsub/cloud-client/src/test/java/com/example/pubsub/QuickstartSampleIT.java index 1973f038550..3f9a78642a0 100644 --- a/pubsub/cloud-client/src/test/java/com/example/pubsub/QuickstartSampleIT.java +++ b/pubsub/cloud-client/src/test/java/com/example/pubsub/QuickstartSampleIT.java @@ -66,4 +66,3 @@ public void testQuickstart() throws Exception { assertThat(got).contains("Topic my-new-topic created."); } } -// [END datastore_quickstart] diff --git a/storage/cloud-client/src/test/java/com/example/storage/QuickstartSampleIT.java b/storage/cloud-client/src/test/java/com/example/storage/QuickstartSampleIT.java index 2265fa58b66..ac7e35a7c60 100644 --- a/storage/cloud-client/src/test/java/com/example/storage/QuickstartSampleIT.java +++ b/storage/cloud-client/src/test/java/com/example/storage/QuickstartSampleIT.java @@ -67,4 +67,3 @@ public void testQuickstart() throws Exception { assertThat(got).contains(String.format("Bucket %s created.", bucketName)); } } -// [END datastore_quickstart] diff --git a/translate/cloud-client/README.md b/translate/cloud-client/README.md index 30e53275591..fd02af6eaeb 100644 --- a/translate/cloud-client/README.md +++ b/translate/cloud-client/README.md @@ -2,7 +2,7 @@ [Google Translate API][translate] provides a simple programmatic interface for translating an arbitrary string into any supported language. -These sample Java applications demonstrate how to access the Cloud Storage API using +These sample Java applications demonstrate how to access the Google Translate API using the [Google Cloud Client Library for Java][google-cloud-java]. [translate]: https://cloud.google.com/translate/ @@ -24,5 +24,4 @@ You can then run a given `ClassName` via: ### Translate a string (using the quickstart sample) - mvn exec:java -Dexec.mainClass=com.example.translate.QuickstartSample \ - -Dexec.args="YOUR_API_KEY" + mvn exec:java -Dexec.mainClass=com.example.translate.QuickstartSample diff --git a/translate/cloud-client/src/test/java/com/example/translate/QuickstartSampleIT.java b/translate/cloud-client/src/test/java/com/example/translate/QuickstartSampleIT.java index e27b59cba97..50460defa29 100644 --- a/translate/cloud-client/src/test/java/com/example/translate/QuickstartSampleIT.java +++ b/translate/cloud-client/src/test/java/com/example/translate/QuickstartSampleIT.java @@ -59,4 +59,3 @@ public void testQuickstart() throws Exception { assertThat(got).contains("Translation: "); } } -// [END datastore_quickstart]