Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add google-cloud-java client libraries quickstart samples. #353

Merged
merged 14 commits into from
Oct 26, 2016
Merged
4 changes: 4 additions & 0 deletions bigquery/cloud-client/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ You can then run a given `ClassName` via:
-DpropertyName=propertyValue \
-Dexec.args="any arguments to the app"

### Creating a new dataset (using the quickstart sample)

mvn exec:java -Dexec.mainClass=com.example.bigquery.QuickstartSample

### Running a synchronous query

mvn exec:java -Dexec.mainClass=com.example.bigquery.SyncQuerySample \
Expand Down
2 changes: 1 addition & 1 deletion bigquery/cloud-client/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,7 @@
<dependency>
<groupId>com.google.truth</groupId>
<artifactId>truth</artifactId>
<version>0.29</version>
<version>0.30</version>
<scope>test</scope>
</dependency>
</dependencies>
Expand Down
Original file line number Diff line number Diff line change
@@ -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.bigquery;

// [START bigquery_quickstart]
// Imports the Google Cloud client library
import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.Dataset;
import com.google.cloud.bigquery.DatasetInfo;

public class QuickstartSample {
public static void main(String... args) throws Exception {
// Instantiates a client
BigQuery bigquery = BigQueryOptions.defaultInstance().service();

// The name for the new dataset
String datasetName = "my_new_dataset";

// Prepares a new dataset
Dataset dataset = null;
DatasetInfo datasetInfo = DatasetInfo.builder(datasetName).build();

// Creates the dataset
dataset = bigquery.create(datasetInfo);

System.out.printf("Dataset %s created.%n", dataset.datasetId().dataset());
}
}
// [END bigquery_quickstart]
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
/*
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.bigquery;

import static com.google.common.truth.Truth.assertThat;

import com.google.cloud.bigquery.BigQuery;
import com.google.cloud.bigquery.BigQuery.DatasetDeleteOption;
import com.google.cloud.bigquery.BigQueryOptions;
import com.google.cloud.bigquery.DatasetId;
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;

private static final void deleteMyNewDataset() {
BigQuery bigquery = BigQueryOptions.defaultInstance().service();
String datasetName = "my_new_dataset";
DatasetId datasetId = DatasetId.of(datasetName);
DatasetDeleteOption deleteContents = DatasetDeleteOption.deleteContents();
bigquery.delete(datasetId, deleteContents);
}

@Before
public void setUp() {
deleteMyNewDataset();

bout = new ByteArrayOutputStream();
out = new PrintStream(bout);
System.setOut(out);
}

@After
public void tearDown() {
System.setOut(null);
deleteMyNewDataset();
}

@Test
public void testQuickstart() throws Exception {
QuickstartSample.main();
String got = bout.toString();
assertThat(got).contains("Dataset my_new_dataset created.");
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@
* Tests for synchronous query sample.
*/
@RunWith(JUnit4.class)
public class SyncQuerySampleTest {
@SuppressWarnings("checkstyle:abbreviationaswordinname")
public class SyncQuerySampleIT {
private ByteArrayOutputStream bout;
private PrintStream out;

Expand Down
26 changes: 26 additions & 0 deletions datastore/cloud-client/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# Getting Started with Cloud Datastore and the Google Cloud Client libraries

[Google Cloud Datastore][Datastore] is a highly-scalable NoSQL database for your applications.
These sample Java applications demonstrate how to access the Datastore API using
the [Google Cloud Client Library for Java][google-cloud-java].

[Datastore]: https://cloud.google.com/datastore/
[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.bigquery.ClassName \
-DpropertyName=propertyValue \
-Dexec.args="any arguments to the app"

### Creating a new entity (using the quickstart sample)

mvn exec:java -Dexec.mainClass=com.example.datastore.QuickstartSample
57 changes: 57 additions & 0 deletions datastore/cloud-client/pom.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<!--
Copyright 2016 Google Inc. 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.
-->
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>come.example.datastore</groupId>
<artifactId>datastore-google-cloud-samples</artifactId>
<packaging>jar</packaging>

<!-- Parent defines config for testing & linting. -->
<parent>
<artifactId>doc-samples</artifactId>
<groupId>com.google.cloud</groupId>
<version>1.0.0</version>
<relativePath>../..</relativePath>
</parent>

<properties>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.source>1.8</maven.compiler.source>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
<dependency>
<groupId>com.google.cloud</groupId>
<artifactId>google-cloud-datastore</artifactId>
<version>0.4.0</version>
</dependency>

<!-- Test dependencies -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.google.truth</groupId>
<artifactId>truth</artifactId>
<version>0.30</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
/*
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.datastore;

// [START datastore_quickstart]
// Imports the Google Cloud client library
import com.google.cloud.datastore.Datastore;
import com.google.cloud.datastore.DatastoreOptions;
import com.google.cloud.datastore.Entity;
import com.google.cloud.datastore.Key;

public class QuickstartSample {
public static void main(String... args) throws Exception {
// Instantiates a client
Datastore datastore = DatastoreOptions.defaultInstance().service();

// The kind for the new entity
String kind = "Task";
// The name/ID for the new entity
String name = "sampletask1";
// The Cloud Datastore key for the new entity
Key taskKey = datastore.newKeyFactory().kind(kind).newKey(name);

// Prepares the new entity
Entity task = Entity.builder(taskKey)
.set("description", "Buy milk")
.build();

// Saves the entity
datastore.put(task);

System.out.printf("Saved %s: %s%n", task.key().name(), task.getString("description"));
}
}
// [END datastore_quickstart]
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
/*
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.datastore;

import static com.google.common.truth.Truth.assertThat;

import com.google.cloud.datastore.Datastore;
import com.google.cloud.datastore.DatastoreOptions;
import com.google.cloud.datastore.Key;
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;

private static final void deleteTestEntity() {
Datastore datastore = DatastoreOptions.defaultInstance().service();
String kind = "Task";
String name = "sampletask1";
Key taskKey = datastore.newKeyFactory().kind(kind).newKey(name);
datastore.delete(taskKey);
}

@Before
public void setUp() {
deleteTestEntity();

bout = new ByteArrayOutputStream();
out = new PrintStream(bout);
System.setOut(out);
}

@After
public void tearDown() {
System.setOut(null);
deleteTestEntity();
}

@Test
public void testQuickstart() throws Exception {
QuickstartSample.main();
String got = bout.toString();
assertThat(got).contains("Saved sampletask1: Buy milk");
}
}
// [END datastore_quickstart]
10 changes: 8 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -77,12 +77,13 @@
<module>appengine/users</module>
<module>appengine/xmpp</module>
<module>bigquery</module>
<module>bigquery/cloud-client</module>
<module>compute/cmdline</module>
<module>compute/error-reporting</module>
<module>compute/mailjet</module>
<module>compute/sendgrid</module>
<module>datastore</module>
<module>logging</module>
<module>datastore/cloud-client</module>
<module>flexible/analytics</module>
<module>flexible/async-rest</module>
<module>flexible/cloudsql</module>
Expand All @@ -101,15 +102,20 @@
-->
<module>flexible/static-files</module>
<module>flexible/twilio</module>
<module>language/analysis</module>
<module>logging</module>
<module>monitoring/v2</module>
<module>monitoring/v3</module>
<module>pubsub/cloud-client</module>
<module>speech/grpc</module>
<module>storage/cloud-client</module>
<module>storage/json-api</module>
<module>storage/storage-transfer</module>
<module>storage/xml-api/cmdline-sample</module>
<module>storage/xml-api/serviceaccount-appengine-sample</module>
<module>taskqueue/deferred</module>
<module>language/analysis</module>
<module>translate</module>
<module>translate/cloud-client</module>
<module>unittests</module>
<module>vision/face-detection</module>
<module>vision/label</module>
Expand Down
Loading