From fdc05ba70b3f6821c8501895377a0f7d2eba3316 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20K=C3=B6rber?= Date: Mon, 1 May 2017 18:17:12 +0200 Subject: [PATCH] Code style fixes --- .../java/org/shredzone/acme4j/Problem.java | 16 +++++---- .../acme4j/provider/pebble/Pebble.java | 10 +++--- .../provider/pebble/PebbleAcmeProvider.java | 33 ++++++++++++------- .../java/org/shredzone/acme4j/util/JSON.java | 2 +- acme4j-example/pom.xml | 4 +++ acme4j-it/pom.xml | 1 + .../acme4j/it/server/HttpServer.java | 7 ++-- .../acme4j/it/server/TlsSniServer.java | 2 +- 8 files changed, 47 insertions(+), 28 deletions(-) diff --git a/acme4j-client/src/main/java/org/shredzone/acme4j/Problem.java b/acme4j-client/src/main/java/org/shredzone/acme4j/Problem.java index a46a250c..bf4daa44 100644 --- a/acme4j-client/src/main/java/org/shredzone/acme4j/Problem.java +++ b/acme4j-client/src/main/java/org/shredzone/acme4j/Problem.java @@ -27,7 +27,7 @@ public class Problem implements Serializable { private static final long serialVersionUID = -8418248862966754214L; private final URI baseUri; - private final JSON problem; + private final JSON problemJson; /** * Creates a new {@link Problem} object. @@ -38,7 +38,7 @@ public class Problem implements Serializable { * Document's base {@link URI} to resolve relative URIs against */ public Problem(JSON problem, URI baseUri) { - this.problem = problem; + this.problemJson = problem; this.baseUri = baseUri; } @@ -46,7 +46,7 @@ public class Problem implements Serializable { * Returns the problem type. It is always an absolute URI. */ public URI getType() { - String type = problem.get("type").asString(); + String type = problemJson.get("type").asString(); return type != null ? baseUri.resolve(type) : null; } @@ -54,7 +54,7 @@ public class Problem implements Serializable { * Returns a human-readable description of the problem. */ public String getDetail() { - return problem.get("detail").asString(); + return problemJson.get("detail").asString(); } /** @@ -62,15 +62,17 @@ public class Problem implements Serializable { * an absolute URI. */ public URI getInstance() { - String instance = problem.get("instance").asString(); + String instance = problemJson.get("instance").asString(); return instance != null ? baseUri.resolve(instance) : null; } /** * Returns the problem as {@link JSON} object, to access other fields. + * + * @return Problem as {@link JSON} object */ public JSON asJSON() { - return problem; + return problemJson; } /** @@ -78,7 +80,7 @@ public class Problem implements Serializable { */ @Override public String toString() { - return problem.toString(); + return problemJson.toString(); } } diff --git a/acme4j-client/src/main/java/org/shredzone/acme4j/provider/pebble/Pebble.java b/acme4j-client/src/main/java/org/shredzone/acme4j/provider/pebble/Pebble.java index 2eebd29e..59496069 100644 --- a/acme4j-client/src/main/java/org/shredzone/acme4j/provider/pebble/Pebble.java +++ b/acme4j-client/src/main/java/org/shredzone/acme4j/provider/pebble/Pebble.java @@ -24,10 +24,10 @@ import org.slf4j.LoggerFactory; */ public final class Pebble { - private static final boolean PEBBLE = Boolean.getBoolean("pebble"); + private static final boolean PEBBLE_PROPERTY = Boolean.getBoolean("pebble"); static { - if (PEBBLE) { + if (PEBBLE_PROPERTY) { LoggerFactory.getLogger(Pebble.class).warn("Pebble workarounds enabled!"); } } @@ -37,11 +37,11 @@ public final class Pebble { } /** - * Returns {@code true} to enable Pebble workarounds, {@code false} for strict - * ACME specifications. + * @return {@code true} to enable Pebble workarounds, {@code false} for strict ACME + * specifications. */ public static boolean workaround() { - return PEBBLE; + return PEBBLE_PROPERTY; } } diff --git a/acme4j-client/src/main/java/org/shredzone/acme4j/provider/pebble/PebbleAcmeProvider.java b/acme4j-client/src/main/java/org/shredzone/acme4j/provider/pebble/PebbleAcmeProvider.java index 8c9e6f50..52ed80e1 100644 --- a/acme4j-client/src/main/java/org/shredzone/acme4j/provider/pebble/PebbleAcmeProvider.java +++ b/acme4j-client/src/main/java/org/shredzone/acme4j/provider/pebble/PebbleAcmeProvider.java @@ -53,17 +53,7 @@ public class PebbleAcmeProvider extends AbstractAcmeProvider { URL baseUrl = new URL("http://localhost:14000/dir"); if (path != null && !path.isEmpty() && !"/".equals(path)) { - Matcher m = HOST_PATTERN.matcher(path); - if (m.matches()) { - String host = m.group(1); - int port = 14000; - if (m.group(2) != null) { - port = Integer.parseInt(m.group(2)); - } - baseUrl = new URL("http", host, port, "/dir"); - } else { - throw new IllegalArgumentException("Invalid Pebble host/port: " + path); - } + baseUrl = parsePath(path); } return baseUrl; @@ -72,6 +62,27 @@ public class PebbleAcmeProvider extends AbstractAcmeProvider { } } + /** + * Parses the server URI path and returns the server's base URL. + * + * @param path + * server URI path + * @return URL of the server's base + */ + private URL parsePath(String path) throws MalformedURLException { + Matcher m = HOST_PATTERN.matcher(path); + if (m.matches()) { + String host = m.group(1); + int port = 14000; + if (m.group(2) != null) { + port = Integer.parseInt(m.group(2)); + } + return new URL("http", host, port, "/dir"); + } else { + throw new IllegalArgumentException("Invalid Pebble host/port: " + path); + } + } + // TODO PEBBLE: new-reg // https://github.com/letsencrypt/pebble/pull/24 @Override diff --git a/acme4j-client/src/main/java/org/shredzone/acme4j/util/JSON.java b/acme4j-client/src/main/java/org/shredzone/acme4j/util/JSON.java index a2a6b6cf..15c3611e 100644 --- a/acme4j-client/src/main/java/org/shredzone/acme4j/util/JSON.java +++ b/acme4j-client/src/main/java/org/shredzone/acme4j/util/JSON.java @@ -427,7 +427,7 @@ public final class JSON implements Serializable { */ public byte[] asBinary() { if (val == null) { - return null; + return null; //NOSONAR: we want to return null here } return AcmeUtils.base64UrlDecode(val.toString()); diff --git a/acme4j-example/pom.xml b/acme4j-example/pom.xml index 57c70aac..a1143dae 100644 --- a/acme4j-example/pom.xml +++ b/acme4j-example/pom.xml @@ -28,6 +28,10 @@ acme4j Example Example for using acme4j + + src/main/java/org/shredzone/acme4j/** + + diff --git a/acme4j-it/pom.xml b/acme4j-it/pom.xml index b0ffff9d..0e53b275 100644 --- a/acme4j-it/pom.xml +++ b/acme4j-it/pom.xml @@ -30,6 +30,7 @@ true + src/main/java/org/shredzone/acme4j/** diff --git a/acme4j-it/src/main/java/org/shredzone/acme4j/it/server/HttpServer.java b/acme4j-it/src/main/java/org/shredzone/acme4j/it/server/HttpServer.java index de68aeee..75c6cda0 100644 --- a/acme4j-it/src/main/java/org/shredzone/acme4j/it/server/HttpServer.java +++ b/acme4j-it/src/main/java/org/shredzone/acme4j/it/server/HttpServer.java @@ -39,6 +39,7 @@ public class HttpServer { private static final String TOKEN_PATH = "/.well-known/acme-challenge/"; private static final Pattern TOKEN_PATTERN = Pattern.compile("^" + Pattern.quote(TOKEN_PATH) + "([^/]+)$"); + private static final String TYPE_TEXT_PLAIN = "text/plain"; private final Map tokenMap = synchronizedMap(new HashMap<>()); private NanoHTTPD server; @@ -84,7 +85,7 @@ public class HttpServer { Matcher m = TOKEN_PATTERN.matcher(path); if (!m.matches()) { - return newFixedLengthResponse(Status.NOT_FOUND, "text/plain", "not found: "+ path + "\n"); + return newFixedLengthResponse(Status.NOT_FOUND, TYPE_TEXT_PLAIN, "not found: "+ path + "\n"); } String token = m.group(1); @@ -92,11 +93,11 @@ public class HttpServer { if (content == null) { LOG.warn("http-01: unknown token " + token); - return newFixedLengthResponse(Status.NOT_FOUND, "text/plain", "unknown token: "+ token + "\n"); + return newFixedLengthResponse(Status.NOT_FOUND, TYPE_TEXT_PLAIN, "unknown token: "+ token + "\n"); } LOG.info("http-01: " + token + " -> " + content); - return newFixedLengthResponse(Status.OK, "text/plain", content); + return newFixedLengthResponse(Status.OK, TYPE_TEXT_PLAIN, content); } }; diff --git a/acme4j-it/src/main/java/org/shredzone/acme4j/it/server/TlsSniServer.java b/acme4j-it/src/main/java/org/shredzone/acme4j/it/server/TlsSniServer.java index a5ddf3a5..bd5fae35 100644 --- a/acme4j-it/src/main/java/org/shredzone/acme4j/it/server/TlsSniServer.java +++ b/acme4j-it/src/main/java/org/shredzone/acme4j/it/server/TlsSniServer.java @@ -172,7 +172,7 @@ public class TlsSniServer { LOG.info("tls-sni: {}", domainsToString(cert)); try (InputStream in = sslSocket.getInputStream()) { - while (in.read() >= 0); + while (in.read() >= 0); //NOSONAR: intentional empty statement } } }