Skip to content

Commit 99a7533

Browse files
author
Bill Prin
committed
Fix style in BigqueryServiceFactory
1 parent 0e4514f commit 99a7533

File tree

1 file changed

+50
-19
lines changed

1 file changed

+50
-19
lines changed

bigquery/src/main/java/com/google/cloud/bigquery/samples/BigqueryServiceFactory.java

+50-19
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,16 @@
11
/*
22
* Copyright (c) 2015 Google Inc.
33
*
4-
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
5-
* in compliance with the License. You may obtain a copy of the License at
4+
* Licensed under the Apache License, Version 2.0 (the "License"); you may
5+
* not use this file except in compliance with the License. You may obtain a
6+
* copy of the License at
67
*
78
* http://www.apache.org/licenses/LICENSE-2.0
89
*
9-
* Unless required by applicable law or agreed to in writing, software distributed under the License
10-
* is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
11-
* or implied. See the License for the specific language governing permissions and limitations under
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
12+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
13+
* License for the specific language governing permissions and limitations under
1214
* the License.
1315
*/
1416

@@ -25,32 +27,61 @@
2527
import java.io.IOException;
2628
import java.util.Collection;
2729

28-
public class BigqueryServiceFactory {
30+
/**
31+
* This class creates our Service to connect to Bigquery including auth.
32+
*/
33+
public final class BigqueryServiceFactory {
34+
35+
/**
36+
* Private constructor to disable creation of this utility Factory class.
37+
*/
38+
private BigqueryServiceFactory() {
2939

40+
}
41+
42+
/**
43+
* Singleton service used through the app.
44+
*/
3045
private static Bigquery service = null;
31-
private static Object service_lock = new Object();
3246

33-
public static Bigquery getService() throws IOException{
34-
if(service==null){
35-
synchronized(service_lock){
36-
if(service==null){
37-
service=createAuthorizedClient();
47+
/**
48+
* Mutex created to create the singleton in thread-safe fashion.
49+
*/
50+
private static Object serviceLock = new Object();
51+
52+
/**
53+
* Threadsafe Factory that provides an authorized Bigquery service.
54+
* @return The Bigquery service
55+
* @throws IOException Thronw if there is an error connecting to Bigquery.
56+
*/
57+
public static Bigquery getService() throws IOException {
58+
if (service == null) {
59+
synchronized (serviceLock) {
60+
if (service == null) {
61+
service = createAuthorizedClient();
3862
}
3963
}
4064
}
4165
return service;
4266
}
4367

68+
/**
69+
* Creates an authorized client to Google Bigquery.
70+
* @return The BigQuery Service
71+
* @throws IOException Thrown if there is an error connecting
72+
*/
4473
// [START get_service]
4574
private static Bigquery createAuthorizedClient() throws IOException {
46-
Collection<String> BIGQUERY_SCOPES = BigqueryScopes.all();
47-
HttpTransport TRANSPORT = new NetHttpTransport();
48-
JsonFactory JSON_FACTORY = new JacksonFactory();
49-
GoogleCredential credential = GoogleCredential.getApplicationDefault(TRANSPORT, JSON_FACTORY);
50-
if(credential.createScopedRequired()){
51-
credential = credential.createScoped(BIGQUERY_SCOPES);
75+
Collection<String> bigqueryScopes = BigqueryScopes.all();
76+
HttpTransport transport = new NetHttpTransport();
77+
JsonFactory jsonFactory = new JacksonFactory();
78+
GoogleCredential credential = GoogleCredential.getApplicationDefault(
79+
transport, jsonFactory);
80+
if (credential.createScopedRequired()) {
81+
credential = credential.createScoped(bigqueryScopes);
5282
}
53-
return new Bigquery.Builder(TRANSPORT, JSON_FACTORY, credential).setApplicationName("BigQuery Samples").build();
83+
return new Bigquery.Builder(transport, jsonFactory, credential)
84+
.setApplicationName("BigQuery Samples").build();
5485
}
5586
// [END get_service]
5687

0 commit comments

Comments
 (0)