You are viewing a plain text version of this content. The canonical link for it is here.
Posted to server-dev@james.apache.org by bt...@apache.org on 2020/04/17 00:32:08 UTC

[james-project] 16/39: JAMES-3117 Remove Builder in 'Result' class

This is an automated email from the ASF dual-hosted git repository.

btellier pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/james-project.git

commit f3ec7e0403981278fd19b444de7973757f94519b
Author: LanKhuat <kh...@gmail.com>
AuthorDate: Sun Mar 29 17:33:46 2020 +0700

    JAMES-3117 Remove Builder in 'Result' class
---
 .../org/apache/james/core/healthcheck/Result.java  | 54 ++++------------------
 .../dto/HealthCheckExecutionResultDto.java         |  4 +-
 .../james/webadmin/routes/HealthCheckRoutes.java   |  9 ++--
 3 files changed, 19 insertions(+), 48 deletions(-)

diff --git a/core/src/main/java/org/apache/james/core/healthcheck/Result.java b/core/src/main/java/org/apache/james/core/healthcheck/Result.java
index 9f2ffa7..c6aeb54 100644
--- a/core/src/main/java/org/apache/james/core/healthcheck/Result.java
+++ b/core/src/main/java/org/apache/james/core/healthcheck/Result.java
@@ -26,62 +26,27 @@ import com.google.common.base.MoreObjects;
 public class Result {
 
     public static Result healthy(ComponentName componentName) {
-        return Builder.builder().componentName(componentName).status(ResultStatus.HEALTHY).build();
+        return new Result(componentName, ResultStatus.HEALTHY, Optional.empty(), Optional.empty());
     }
 
     public static Result unhealthy(ComponentName componentName, String cause) {
-        return Builder.builder().componentName(componentName).status(ResultStatus.UNHEALTHY).cause(cause).build();
+        return new Result(componentName, ResultStatus.UNHEALTHY, Optional.of(cause), Optional.empty());
     }
 
     public static Result unhealthy(ComponentName componentName, String cause, Throwable error) {
-        return Builder.builder().componentName(componentName).status(ResultStatus.UNHEALTHY).cause(cause).error(error).build();
+        return new Result(componentName, ResultStatus.UNHEALTHY, Optional.of(cause), Optional.of(error));
     }
 
     public static Result degraded(ComponentName componentName, String cause) {
-        return Builder.builder().componentName(componentName).status(ResultStatus.DEGRADED).cause(cause).build();
-    }
-
-    public static class Builder {
-        private ComponentName componentName;
-        private ResultStatus status;
-        private String cause;
-        private Optional<Throwable> error = Optional.empty();
-
-        public Builder componentName(ComponentName componentName) {
-            this.componentName = componentName;
-            return this;
-        }
-
-        public Builder status(ResultStatus status) {
-            this.status = status;
-            return this;
-        }
-
-        public Builder cause(String cause) {
-            this.cause = cause;
-            return this;
-        }
-
-        public Builder error(Throwable error) {
-            this.error = Optional.of(error);
-            return this;
-        }
-
-        public Result build() {
-            return new Result(componentName, status, cause, error);
-        }
-
-        public static Builder builder() {
-            return new Builder();
-        }
+        return new Result(componentName, ResultStatus.DEGRADED, Optional.of(cause), Optional.empty());
     }
 
     private final ComponentName componentName;
     private final ResultStatus status;
-    private final String cause;
+    private final Optional<String> cause;
     private final Optional<Throwable> error;
 
-    public Result(ComponentName componentName, ResultStatus status, String cause, Optional<Throwable> error) {
+    private Result(ComponentName componentName, ResultStatus status, Optional<String> cause, Optional<Throwable> error) {
         this.componentName = componentName;
         this.status = status;
         this.cause = cause;
@@ -96,7 +61,7 @@ public class Result {
         return status;
     }
 
-    public String getCause() {
+    public Optional<String> getCause() {
         return cause;
     }
 
@@ -123,6 +88,7 @@ public class Result {
 
             return Objects.equals(this.componentName, result.componentName)
                 && Objects.equals(this.status, result.status)
+                && Objects.equals(this.cause, result.cause)
                 && Objects.equals(this.error, result.error);
         }
         return false;
@@ -130,7 +96,7 @@ public class Result {
 
     @Override
     public final int hashCode() {
-        return Objects.hash(componentName, status, error);
+        return Objects.hash(componentName, status, cause, error);
     }
 
     @Override
@@ -138,7 +104,7 @@ public class Result {
         return MoreObjects.toStringHelper(this)
             .add("componentName", componentName)
             .add("status", status)
-            .add("error", error)
+            .add("cause", cause)
             .toString();
     }
 }
\ No newline at end of file
diff --git a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/dto/HealthCheckExecutionResultDto.java b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/dto/HealthCheckExecutionResultDto.java
index d3bd774..2663b3e 100644
--- a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/dto/HealthCheckExecutionResultDto.java
+++ b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/dto/HealthCheckExecutionResultDto.java
@@ -19,6 +19,8 @@
 
 package org.apache.james.webadmin.dto;
 
+import java.util.Optional;
+
 import org.apache.james.core.healthcheck.Result;
 
 import com.fasterxml.jackson.annotation.JsonPropertyOrder;
@@ -46,7 +48,7 @@ public class HealthCheckExecutionResultDto {
         return healthCheckResult.getStatus().getValue();
     }
     
-    public String getCause() {
+    public Optional<String> getCause() {
         return healthCheckResult.getCause();
     }
     
diff --git a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/routes/HealthCheckRoutes.java b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/routes/HealthCheckRoutes.java
index da339b9..3f422ba 100644
--- a/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/routes/HealthCheckRoutes.java
+++ b/server/protocols/webadmin/webadmin-core/src/main/java/org/apache/james/webadmin/routes/HealthCheckRoutes.java
@@ -153,18 +153,21 @@ public class HealthCheckRoutes implements PublicRoutes {
         switch (result.getStatus()) {
         case UNHEALTHY:
             if (result.getError().isPresent()) {
-                LOGGER.error("HealthCheck failed for {} : {} : {}", result.getComponentName().getName(), result.getCause(), result.getError().get());
+                LOGGER.error("HealthCheck failed for {} : {} : {}",
+                    result.getComponentName().getName(),
+                    result.getCause().orElse(""),
+                    result.getError().get());
                 break;
             }
 
             LOGGER.error("HealthCheck failed for {} : {}",
                     result.getComponentName().getName(),
-                    result.getCause());
+                    result.getCause().orElse(""));
             break;
         case DEGRADED:
             LOGGER.warn("HealthCheck is unstable for {} : {}",
                     result.getComponentName().getName(),
-                    result.getCause());
+                    result.getCause().orElse(""));
             break;
         case HEALTHY:
             // Here only to fix a warning, such cases are already filtered


---------------------------------------------------------------------
To unsubscribe, e-mail: server-dev-unsubscribe@james.apache.org
For additional commands, e-mail: server-dev-help@james.apache.org