Skip to content

Commit 269baf5

Browse files
Wrap BufferedWriter in PrintWriter to simplify some code. (GoogleCloudPlatform#2810)
* Wrap BufferedWriter in PrintWriter to simplify some code. This enables us to replace `writer.write(String.format(...))` with `writer.printf(...)`. Also use the `var` keyword to simplify a couple of places where a type had to be fully-qualified because of a naming conflict. * Replace `\n` with `%n` in a format string.
1 parent 43bfc58 commit 269baf5

File tree

7 files changed

+29
-33
lines changed

7 files changed

+29
-33
lines changed

functions/concepts/lazy-fields/src/main/java/functions/LazyFields.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
import com.google.cloud.functions.HttpFunction;
2323
import com.google.cloud.functions.HttpRequest;
2424
import com.google.cloud.functions.HttpResponse;
25-
import java.io.BufferedWriter;
2625
import java.io.IOException;
26+
import java.io.PrintWriter;
2727
import java.util.Arrays;
2828

2929
public class LazyFields implements HttpFunction {
@@ -52,9 +52,8 @@ public void service(HttpRequest request, HttpResponse response)
5252
throws IOException {
5353
Integer lazyGlobal = LazyGlobalHolder.getInstance();
5454

55-
BufferedWriter writer = response.getWriter();
56-
writer.write(String.format("Lazy global: %s; non-lazy global: %s",
57-
lazyGlobal, NON_LAZY_GLOBAL));
55+
var writer = new PrintWriter(response.getWriter());
56+
writer.printf("Lazy global: %s; non-lazy global: %s%n", lazyGlobal, NON_LAZY_GLOBAL);
5857
}
5958

6059
private static int functionSpecificComputation() {

functions/concepts/scopes/src/main/java/functions/Scopes.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
import com.google.cloud.functions.HttpFunction;
2323
import com.google.cloud.functions.HttpRequest;
2424
import com.google.cloud.functions.HttpResponse;
25-
import java.io.BufferedWriter;
2625
import java.io.IOException;
26+
import java.io.PrintWriter;
2727
import java.util.Arrays;
2828

2929
public class Scopes implements HttpFunction {
@@ -40,8 +40,8 @@ public void service(HttpRequest request, HttpResponse response)
4040
// This computation runs every time this function is called
4141
int functionVar = lightComputation();
4242

43-
BufferedWriter writer = response.getWriter();
44-
writer.write(String.format("Instance: %s; function: %s", InstanceVar, functionVar));
43+
var writer = new PrintWriter(response.getWriter());
44+
writer.printf("Instance: %s; function: %s", InstanceVar, functionVar);
4545
}
4646

4747
private static int lightComputation() {

functions/helloworld/hello-http/src/main/java/functions/HelloHttp.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
import com.google.gson.JsonElement;
2626
import com.google.gson.JsonObject;
2727
import com.google.gson.JsonParseException;
28-
import java.io.BufferedWriter;
2928
import java.io.IOException;
29+
import java.io.PrintWriter;
3030
import java.util.logging.Logger;
3131

3232
public class HelloHttp implements HttpFunction {
@@ -57,8 +57,8 @@ public void service(HttpRequest request, HttpResponse response)
5757
logger.severe("Error parsing JSON: " + e.getMessage());
5858
}
5959

60-
BufferedWriter writer = response.getWriter();
61-
writer.write(String.format("Hello %s!", name));
60+
var writer = new PrintWriter(response.getWriter());
61+
writer.printf("Hello %s!", name);
6262
}
6363
}
6464
// [END functions_helloworld_http]

functions/http/parse-content-type/src/main/java/functions/ParseContentType.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
import com.google.cloud.functions.HttpResponse;
2424
import com.google.gson.Gson;
2525
import com.google.gson.JsonObject;
26-
import java.io.BufferedWriter;
2726
import java.io.IOException;
27+
import java.io.PrintWriter;
2828
import java.net.HttpURLConnection;
2929
import java.nio.charset.StandardCharsets;
3030
import java.util.Base64;
@@ -79,8 +79,8 @@ public void service(HttpRequest request, HttpResponse response)
7979

8080
// Respond with a name, if one was detected
8181
if (name != null) {
82-
BufferedWriter writer = response.getWriter();
83-
writer.write(String.format("Hello %s!", name));
82+
var writer = new PrintWriter(response.getWriter());
83+
writer.printf("Hello %s!", name);
8484
}
8585
}
8686
}

functions/http/send-http-request/src/main/java/functions/SendHttpRequest.java

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,8 @@
2222
import com.google.cloud.functions.HttpFunction;
2323
import com.google.cloud.functions.HttpRequest;
2424
import com.google.cloud.functions.HttpResponse;
25-
import java.io.BufferedWriter;
2625
import java.io.IOException;
26+
import java.io.PrintWriter;
2727
import java.net.URI;
2828
import java.net.http.HttpClient;
2929
import java.net.http.HttpResponse.BodyHandlers;
@@ -41,16 +41,14 @@ public void service(HttpRequest request, HttpResponse response)
4141
throws IOException, InterruptedException {
4242
// Create a GET sendHttpRequest to "http://example.com"
4343
String url = "http://example.com";
44-
java.net.http.HttpRequest getRequest =
45-
java.net.http.HttpRequest.newBuilder().uri(URI.create(url)).GET().build();
44+
var getRequest = java.net.http.HttpRequest.newBuilder().uri(URI.create(url)).GET().build();
4645

4746
// Send the sendHttpRequest using the client
48-
java.net.http.HttpResponse<String> getResponse =
49-
client.send(getRequest, BodyHandlers.ofString());
47+
var getResponse = client.send(getRequest, BodyHandlers.ofString());
5048

5149
// Write the results to the output:
52-
BufferedWriter writer = response.getWriter();
53-
writer.write(String.format("Received code '%s' from url '%s'.", getResponse.statusCode(), url));
50+
var writer = new PrintWriter(response.getWriter());
51+
writer.printf("Received code '%s' from url '%s'.", getResponse.statusCode(), url);
5452
}
5553
}
5654
// [END functions_concepts_requests]

functions/logging/retrieve-logs/src/main/java/functions/RetrieveLogs.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,8 @@
2525
import com.google.cloud.logging.v2.LoggingClient.ListLogEntriesPagedResponse;
2626
import com.google.logging.v2.ListLogEntriesRequest;
2727
import com.google.logging.v2.LogEntry;
28-
import java.io.BufferedWriter;
2928
import java.io.IOException;
29+
import java.io.PrintWriter;
3030

3131
public class RetrieveLogs implements HttpFunction {
3232

@@ -48,11 +48,11 @@ public void service(HttpRequest request, HttpResponse response)
4848

4949
ListLogEntriesPagedResponse entriesResponse = client.listLogEntries(entriesRequest);
5050

51-
BufferedWriter writer = response.getWriter();
51+
var writer = new PrintWriter(response.getWriter());
5252
for (LogEntry entry : entriesResponse.getPage().getValues()) {
53-
writer.write(String.format("%s: %s%n", entry.getLogName(), entry.getTextPayload()));
53+
writer.printf("%s: %s%n", entry.getLogName(), entry.getTextPayload());
5454
}
55-
writer.write("%n%nLogs retrieved successfully.%n");
55+
writer.printf("%n%nLogs retrieved successfully.%n");
5656
}
5757

5858
// Returns a client for interacting with the Logging API. The client is stored in the global scope

functions/spanner/src/main/java/functions/HelloSpanner.java

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
import com.google.cloud.spanner.Statement;
3131
import com.google.common.annotations.VisibleForTesting;
3232
import com.google.common.base.MoreObjects;
33-
import java.io.BufferedWriter;
33+
import java.io.PrintWriter;
3434
import java.util.logging.Level;
3535
import java.util.logging.Logger;
3636

@@ -97,27 +97,26 @@ DatabaseClient getClient() throws Throwable {
9797

9898
@Override
9999
public void service(HttpRequest request, HttpResponse response) throws Exception {
100-
BufferedWriter writer = response.getWriter();
100+
var writer = new PrintWriter(response.getWriter());
101101
try {
102102
DatabaseClient client = getClient();
103103
try (ResultSet rs =
104104
client
105105
.singleUse()
106106
.executeQuery(Statement.of("SELECT SingerId, AlbumId, AlbumTitle FROM Albums"))) {
107-
writer.write("Albums:\n");
107+
writer.printf("Albums:%n");
108108
while (rs.next()) {
109-
writer.write(
110-
String.format(
111-
"%d %d %s\n",
112-
rs.getLong("SingerId"), rs.getLong("AlbumId"), rs.getString("AlbumTitle")));
109+
writer.printf(
110+
"%d %d %s%n",
111+
rs.getLong("SingerId"), rs.getLong("AlbumId"), rs.getString("AlbumTitle"));
113112
}
114113
} catch (SpannerException e) {
115-
writer.write(String.format("Error querying database: %s\n", e.getMessage()));
114+
writer.printf("Error querying database: %s%n", e.getMessage());
116115
response.setStatusCode(HttpStatusCodes.STATUS_CODE_SERVER_ERROR, e.getMessage());
117116
}
118117
} catch (Throwable t) {
119118
logger.log(Level.SEVERE, "Spanner example failed", t);
120-
writer.write(String.format("Error setting up Spanner: %s\n", t.getMessage()));
119+
writer.printf("Error setting up Spanner: %s%n", t.getMessage());
121120
response.setStatusCode(HttpStatusCodes.STATUS_CODE_SERVER_ERROR, t.getMessage());
122121
}
123122
}

0 commit comments

Comments
 (0)