From b4433e8721fc6fbd3c19b2c08a2c7bf24e63a630 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lars=20Helge=20=C3=98verland?= Date: Tue, 28 Jul 2026 16:14:24 +0200 Subject: [PATCH 1/2] fix: Update code --- src/main/java/org/hisp/dhis/BaseDhis2.java | 12 +++++----- .../org/hisp/dhis/model/AttributeValue.java | 9 +++++--- .../java/org/hisp/dhis/model/DataElement.java | 6 +++-- .../java/org/hisp/dhis/model/IdScheme.java | 9 +++++--- .../hisp/dhis/model/IdentifiableObject.java | 7 ++++-- .../java/org/hisp/dhis/model/OptionSet.java | 22 +++++++++++++++++++ .../java/org/hisp/dhis/model/OrgUnit.java | 3 ++- .../java/org/hisp/dhis/model/Program.java | 10 +++++---- .../dhis/model/analytics/AnalyticsData.java | 13 ++++++----- .../dhis/model/analytics/AnalyticsHeader.java | 6 +++-- .../model/analytics/AnalyticsMetaData.java | 7 +++--- .../dhis/model/analytics/MetaDataItem.java | 3 ++- .../hisp/dhis/model/dashboard/Dashboard.java | 4 +++- .../java/org/hisp/dhis/model/event/Event.java | 6 +++-- .../dhis/model/metadata/MetadataEntity.java | 3 ++- .../model/trackedentity/TrackedEntity.java | 3 ++- src/main/java/org/hisp/dhis/query/Order.java | 4 +++- src/main/java/org/hisp/dhis/query/Paging.java | 10 +++++---- src/main/java/org/hisp/dhis/query/Query.java | 6 +++-- .../hisp/dhis/response/BaseHttpResponse.java | 5 +++-- .../org/hisp/dhis/response/HttpStatus.java | 6 +++-- .../response/data/AsyncSummaryResponse.java | 3 ++- .../response/data/ImportSummaryResponse.java | 4 +++- .../dhis/response/event/EventResponse.java | 3 ++- .../dhis/response/object/ObjectReport.java | 4 +++- .../response/objects/ObjectsResponse.java | 3 ++- .../trackedentity/TrackedEntityResponse.java | 3 ++- .../org/hisp/dhis/util/CollectionUtils.java | 13 ++++++----- .../java/org/hisp/dhis/util/Comparing.java | 6 +++-- .../org/hisp/dhis/util/DateTimeUtils.java | 13 ++++++----- .../org/hisp/dhis/util/JacksonXmlUtils.java | 4 +++- .../java/org/hisp/dhis/util/NumberUtils.java | 13 ++++++----- .../java/org/hisp/dhis/util/RegexUtils.java | 4 +++- .../java/org/hisp/dhis/util/StopWatch.java | 4 +++- .../java/org/hisp/dhis/util/TextUtils.java | 11 ++++++---- .../java/org/hisp/dhis/util/UidUtils.java | 7 ++++-- src/main/java/org/hisp/dhis/util/Verify.java | 4 +++- .../java/org/hisp/dhis/util/VersionUtils.java | 4 +++- 38 files changed, 175 insertions(+), 82 deletions(-) diff --git a/src/main/java/org/hisp/dhis/BaseDhis2.java b/src/main/java/org/hisp/dhis/BaseDhis2.java index 362dcc2a..0d85085d 100644 --- a/src/main/java/org/hisp/dhis/BaseDhis2.java +++ b/src/main/java/org/hisp/dhis/BaseDhis2.java @@ -38,6 +38,8 @@ import static org.hisp.dhis.util.CollectionUtils.asList; import static org.hisp.dhis.util.CollectionUtils.toCommaSeparated; import static org.hisp.dhis.util.HttpUtils.getUriAsString; +import static org.hisp.dhis.util.ObjectUtils.isAbsent; +import static org.hisp.dhis.util.ObjectUtils.isPresent; import java.io.File; import java.io.FileOutputStream; @@ -892,7 +894,7 @@ protected URI withCompleteDataSetRegistrationsImportParams( * @param value the query parameter value. */ private void addParameter(URIBuilder uriBuilder, String parameter, Object value) { - if (value != null) { + if (isPresent(value)) { uriBuilder.addParameter(parameter, value.toString()); } } @@ -906,7 +908,7 @@ private void addParameter(URIBuilder uriBuilder, String parameter, Object value) * @param value the query parameter Date value. */ private void addParameter(URIBuilder uriBuilder, String parameter, Date value) { - if (value != null) { + if (isPresent(value)) { uriBuilder.addParameter(parameter, DateTimeUtils.getDateTimeString(value)); } } @@ -1041,7 +1043,7 @@ protected Response executeRequest(HttpUriRequestBase request) { HttpStatus httpStatus = HttpStatus.valueOf(response.getCode()); Status status = - httpStatus != null && httpStatus.is2xxSuccessful() ? Status.OK : Status.ERROR; + isPresent(httpStatus) && httpStatus.is2xxSuccessful() ? Status.OK : Status.ERROR; Response resp = new Response(); resp.setHeaders(asList(response.getHeaders())); @@ -1257,7 +1259,7 @@ private String getErrorMessage(int code) { * @throws Dhis2ClientException if object is invalid. */ private void validateRequestObject(Object object) { - if (object == null) { + if (isAbsent(object)) { throw new Dhis2ClientException("Request object is null", 400); } } @@ -1475,7 +1477,7 @@ protected boolean redirectedToLogin(HttpResponse response) { } final Header locationHeader = response.getLastHeader(HttpHeaders.LOCATION); - return locationHeader != null && locationHeader.getValue().contains("dhis-web-login"); + return isPresent(locationHeader) && locationHeader.getValue().contains("dhis-web-login"); } /** diff --git a/src/main/java/org/hisp/dhis/model/AttributeValue.java b/src/main/java/org/hisp/dhis/model/AttributeValue.java index ca2ca4d4..7986c82a 100644 --- a/src/main/java/org/hisp/dhis/model/AttributeValue.java +++ b/src/main/java/org/hisp/dhis/model/AttributeValue.java @@ -27,6 +27,9 @@ */ package org.hisp.dhis.model; +import static org.hisp.dhis.util.ObjectUtils.isAbsent; +import static org.hisp.dhis.util.ObjectUtils.isPresent; + import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import java.io.Serializable; @@ -56,7 +59,7 @@ public AttributeValue(Attribute attribute, String value) { * @return true if the attribute is not null. */ public boolean hasAttribute() { - return attribute != null; + return isPresent(attribute); } /** @@ -111,7 +114,7 @@ public Integer getIntegerValue() { @Override public int hashCode() { - return attribute != null ? Objects.hash(attribute.getId()) : 0; + return isPresent(attribute) ? Objects.hash(attribute.getId()) : 0; } @Override @@ -120,7 +123,7 @@ public boolean equals(Object o) { return true; } - if (o == null || attribute == null) { + if (isAbsent(o) || isAbsent(attribute)) { return false; } diff --git a/src/main/java/org/hisp/dhis/model/DataElement.java b/src/main/java/org/hisp/dhis/model/DataElement.java index dcf48140..384c7f57 100644 --- a/src/main/java/org/hisp/dhis/model/DataElement.java +++ b/src/main/java/org/hisp/dhis/model/DataElement.java @@ -27,6 +27,8 @@ */ package org.hisp.dhis.model; +import static org.hisp.dhis.util.ObjectUtils.isPresent; + import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.ArrayList; @@ -61,12 +63,12 @@ public class DataElement extends DimensionItem { @JsonIgnore public boolean hasOptionSet() { - return optionSet != null; + return isPresent(optionSet); } @JsonIgnore public boolean hasCategoryCombo() { - return categoryCombo != null; + return isPresent(categoryCombo); } @Override diff --git a/src/main/java/org/hisp/dhis/model/IdScheme.java b/src/main/java/org/hisp/dhis/model/IdScheme.java index 0927bd90..fe5db154 100644 --- a/src/main/java/org/hisp/dhis/model/IdScheme.java +++ b/src/main/java/org/hisp/dhis/model/IdScheme.java @@ -27,6 +27,9 @@ */ package org.hisp.dhis.model; +import static org.hisp.dhis.util.ObjectUtils.isAbsent; +import static org.hisp.dhis.util.ObjectUtils.isPresent; + import java.io.Serializable; import java.util.Objects; import java.util.regex.Matcher; @@ -105,7 +108,7 @@ public static IdScheme createAttributeIdScheme(String attribute) { * @throws IllegalArgumentException if the ID scheme string is invalid. */ public static IdScheme createIdScheme(String idScheme) { - if (idScheme == null) { + if (isAbsent(idScheme)) { return null; } @@ -135,7 +138,7 @@ public static IdScheme createIdScheme(String idScheme) { * @return true if the given UID is valid. */ private static boolean isValidUid(String uid) { - return uid != null && UID_PATTERN.matcher(uid).matches(); + return isPresent(uid) && UID_PATTERN.matcher(uid).matches(); } // ------------------------------------------------------------------------- @@ -165,7 +168,7 @@ public boolean equals(Object o) { return true; } - if (o == null || !getClass().isAssignableFrom(o.getClass())) { + if (isAbsent(o) || !getClass().isAssignableFrom(o.getClass())) { return false; } diff --git a/src/main/java/org/hisp/dhis/model/IdentifiableObject.java b/src/main/java/org/hisp/dhis/model/IdentifiableObject.java index 99a1d749..a60766a9 100644 --- a/src/main/java/org/hisp/dhis/model/IdentifiableObject.java +++ b/src/main/java/org/hisp/dhis/model/IdentifiableObject.java @@ -27,6 +27,9 @@ */ package org.hisp.dhis.model; +import static org.hisp.dhis.util.ObjectUtils.isAbsent; +import static org.hisp.dhis.util.ObjectUtils.isPresent; + import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import java.io.Serializable; @@ -157,7 +160,7 @@ public boolean hasAttributeValue(String attribute) { */ public String getAttributeValueAsString(String attribute) { AttributeValue attributeValue = getAttributeValue(attribute); - return attributeValue != null ? attributeValue.getValue() : null; + return isPresent(attributeValue) ? attributeValue.getValue() : null; } /** @@ -190,7 +193,7 @@ public boolean equals(Object o) { return true; } - if (o == null) { + if (isAbsent(o)) { return false; } diff --git a/src/main/java/org/hisp/dhis/model/OptionSet.java b/src/main/java/org/hisp/dhis/model/OptionSet.java index a88972ea..5dd8e89b 100644 --- a/src/main/java/org/hisp/dhis/model/OptionSet.java +++ b/src/main/java/org/hisp/dhis/model/OptionSet.java @@ -27,12 +27,14 @@ */ package org.hisp.dhis.model; +import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.annotation.JsonProperty; import java.util.ArrayList; import java.util.List; import lombok.Getter; import lombok.NoArgsConstructor; import lombok.Setter; +import org.hisp.dhis.util.CollectionUtils; @Getter @Setter @@ -45,4 +47,24 @@ public class OptionSet extends IdentifiableObject { @JsonProperty private String version; @JsonProperty private List