From 2665543d4976cb70a63bed1858a7b1f3fb7862dd Mon Sep 17 00:00:00 2001 From: igor Date: Thu, 3 Jan 2019 23:48:18 +0100 Subject: [PATCH 1/3] continue to removing nulls (#917) --- .../java/org/takes/facets/auth/PsBasic.java | 5 +++++ .../org/takes/facets/fork/FkHitRefresh.java | 17 ++++++----------- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/src/main/java/org/takes/facets/auth/PsBasic.java b/src/main/java/org/takes/facets/auth/PsBasic.java index d5ce7ddfa..b13994eb3 100644 --- a/src/main/java/org/takes/facets/auth/PsBasic.java +++ b/src/main/java/org/takes/facets/auth/PsBasic.java @@ -54,6 +54,8 @@ * * @since 0.20 * @checkstyle ClassDataAbstractionCouplingCheck (100 lines) + * @todo #863:30min Continue removing nulls from the code base, there are still + * some places that use it and can be replaced with better code constructs. */ @EqualsAndHashCode @SuppressWarnings("PMD.TooManyMethods") @@ -284,6 +286,9 @@ private static Map converted(final String... users) { * @param pwd Password. * @return Opt with URN or empty if there is no such login-password * pair. + * @todo #744:30min `null` constant usage in the function + * `urn` is violating the key principles, defined + * in README.md file and must be eliminated. */ private Opt urn(final String user, final String pwd) { final String urn; diff --git a/src/main/java/org/takes/facets/fork/FkHitRefresh.java b/src/main/java/org/takes/facets/fork/FkHitRefresh.java index 98dd7302b..62aada4e3 100644 --- a/src/main/java/org/takes/facets/fork/FkHitRefresh.java +++ b/src/main/java/org/takes/facets/fork/FkHitRefresh.java @@ -46,7 +46,6 @@ * * @since 0.9 * @see TkFork - * @todo #863:30min Continue removing nulls from the code base, there are still * some places that use it and can be replaced with better code constructs. */ @EqualsAndHashCode @@ -86,14 +85,11 @@ public FkHitRefresh(final File file, final List cmd, final Take tke) { this( file, - new Runnable() { - @Override - public void run() { - try { - new ProcessBuilder().command(cmd).start(); - } catch (final IOException ex) { - throw new IllegalStateException(ex); - } + () -> { + try { + new ProcessBuilder().command(cmd).start(); + } catch (final IOException ex) { + throw new IllegalStateException(ex); } }, tke @@ -234,7 +230,6 @@ private boolean expired() throws IOException { /** * Directory contents updated? * @return TRUE if contents were updated - * @todo #744:30min `null` constant usage in the function * `directoryUpdated` is violating the key principles, defined * in README.md file and must be eliminated. */ @@ -248,7 +243,7 @@ private boolean directoryUpdated() { } final File[] files = this.dir.listFiles(); boolean expired = false; - if (files != null) { + if (new Opt.Single<>(files).has()) { for (final File file : files) { if (file.lastModified() > recent) { expired = true; From b702b35028e8742f09b68e1296781f27ae172a34 Mon Sep 17 00:00:00 2001 From: igor Date: Fri, 4 Jan 2019 22:14:24 +0100 Subject: [PATCH 2/3] Removing more nulls (#917) --- .../java/org/takes/facets/auth/social/PsGoogle.java | 10 ++++++---- src/main/java/org/takes/facets/cookies/RqCookies.java | 7 ++++--- src/main/java/org/takes/facets/fork/FkHitRefresh.java | 3 --- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/src/main/java/org/takes/facets/auth/social/PsGoogle.java b/src/main/java/org/takes/facets/auth/social/PsGoogle.java index 5354edb9a..afd025b52 100644 --- a/src/main/java/org/takes/facets/auth/social/PsGoogle.java +++ b/src/main/java/org/takes/facets/auth/social/PsGoogle.java @@ -224,11 +224,13 @@ private String token(final String code) throws IOException { */ private static Identity parse(final JsonObject json) { final Map props = new HashMap<>(json.size()); - final JsonObject image = json.getJsonObject("image"); - if (image == null) { - props.put(PsGoogle.PICTURE, "#"); + final Opt image = new Opt.Single<>( + json.getJsonObject("image") + ); + if (image.has()) { + props.put(PsGoogle.PICTURE, image.get().getString("url", "#")); } else { - props.put(PsGoogle.PICTURE, image.getString("url", "#")); + props.put(PsGoogle.PICTURE, "#"); } props.put( PsGoogle.NAME, json.getString(PsGoogle.DISPLAY_NAME, "unknown") diff --git a/src/main/java/org/takes/facets/cookies/RqCookies.java b/src/main/java/org/takes/facets/cookies/RqCookies.java index c1f6987cb..9028a2c9a 100644 --- a/src/main/java/org/takes/facets/cookies/RqCookies.java +++ b/src/main/java/org/takes/facets/cookies/RqCookies.java @@ -77,11 +77,12 @@ public Base(final Request req) { public Iterable cookie(final CharSequence key) throws IOException { final Map map = this.map(); - final String value = map.get( - new EnglishLowerCase(key.toString()).string() + final String value = map.getOrDefault( + new EnglishLowerCase(key.toString()).string(), + "" ); final Iterable iter; - if (value == null) { + if (value.isEmpty()) { iter = new VerboseIterable<>( Collections.emptyList(), new Sprintf( diff --git a/src/main/java/org/takes/facets/fork/FkHitRefresh.java b/src/main/java/org/takes/facets/fork/FkHitRefresh.java index 62aada4e3..e6c800b9f 100644 --- a/src/main/java/org/takes/facets/fork/FkHitRefresh.java +++ b/src/main/java/org/takes/facets/fork/FkHitRefresh.java @@ -46,7 +46,6 @@ * * @since 0.9 * @see TkFork - * some places that use it and can be replaced with better code constructs. */ @EqualsAndHashCode public final class FkHitRefresh implements Fork { @@ -230,8 +229,6 @@ private boolean expired() throws IOException { /** * Directory contents updated? * @return TRUE if contents were updated - * `directoryUpdated` is violating the key principles, defined - * in README.md file and must be eliminated. */ private boolean directoryUpdated() { final long recent; From a509cdb2895812d9e06249631e29c78fb6aa6391 Mon Sep 17 00:00:00 2001 From: igor Date: Wed, 16 Jan 2019 20:01:33 +0100 Subject: [PATCH 3/3] Removing unnecessary puzzles from PsBasic (#917) --- src/main/java/org/takes/facets/auth/PsBasic.java | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/main/java/org/takes/facets/auth/PsBasic.java b/src/main/java/org/takes/facets/auth/PsBasic.java index b13994eb3..dcc2c37a7 100644 --- a/src/main/java/org/takes/facets/auth/PsBasic.java +++ b/src/main/java/org/takes/facets/auth/PsBasic.java @@ -286,9 +286,6 @@ private static Map converted(final String... users) { * @param pwd Password. * @return Opt with URN or empty if there is no such login-password * pair. - * @todo #744:30min `null` constant usage in the function - * `urn` is violating the key principles, defined - * in README.md file and must be eliminated. */ private Opt urn(final String user, final String pwd) { final String urn;