From 8f7895067f856ca3d939cfb6a73a4aa2b8b3a1fd Mon Sep 17 00:00:00 2001 From: mspruc Date: Fri, 16 Jan 2026 09:45:13 +0100 Subject: [PATCH] change deprecated Validate function to recommended Objects.requireNonNull --- .../org/apache/wayang/api/sql/calcite/jdbc/JdbcTable.java | 2 -- .../wayang/basic/operators/ObjectFileSerialization.java | 8 ++++---- .../org/apache/wayang/basic/operators/ObjectFileSink.java | 3 --- .../core/api/configuration/MapBasedKeyValueProvider.java | 6 +++--- .../cardinality/CardinalityEstimationTraversal.java | 7 +++---- .../core/optimizer/enumeration/PlanImplementation.java | 4 +--- .../apache/wayang/core/plan/wayangplan/LoopIsolator.java | 3 ++- .../java/org/apache/wayang/core/util/ReflectionUtils.java | 3 ++- .../org/apache/wayang/profiler/hardware/DiskProfiler.java | 4 ++-- 9 files changed, 17 insertions(+), 23 deletions(-) diff --git a/wayang-api/wayang-api-sql/src/main/java/org/apache/wayang/api/sql/calcite/jdbc/JdbcTable.java b/wayang-api/wayang-api-sql/src/main/java/org/apache/wayang/api/sql/calcite/jdbc/JdbcTable.java index af237af30..7e5c7e96c 100755 --- a/wayang-api/wayang-api-sql/src/main/java/org/apache/wayang/api/sql/calcite/jdbc/JdbcTable.java +++ b/wayang-api/wayang-api-sql/src/main/java/org/apache/wayang/api/sql/calcite/jdbc/JdbcTable.java @@ -20,8 +20,6 @@ import org.apache.calcite.DataContext; import org.apache.calcite.adapter.java.AbstractQueryableTable; import org.apache.calcite.adapter.java.JavaTypeFactory; -//import org.apache.calcite.adapter.jdbc.JdbcSchema; -import org.apache.calcite.adapter.jdbc.JdbcTableScan; import org.apache.calcite.avatica.ColumnMetaData; import org.apache.calcite.jdbc.CalciteConnection; import org.apache.calcite.linq4j.Enumerable; diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ObjectFileSerialization.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ObjectFileSerialization.java index a96848a5d..46d2c152e 100644 --- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ObjectFileSerialization.java +++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ObjectFileSerialization.java @@ -21,7 +21,6 @@ import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.type.CollectionType; -import org.apache.commons.lang3.Validate; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; @@ -33,6 +32,7 @@ import java.util.Collection; import java.util.Collections; import java.util.List; +import java.util.Objects; /** * Utility methods that convert between Java objects and the on-disk representation used by {@link ObjectFileSink}. @@ -59,7 +59,7 @@ private ObjectFileSerialization() { * @throws IOException if serialization fails */ public static byte[] serializeChunk(Object[] chunk, int validLength, ObjectFileSerializationMode mode) throws IOException { - Validate.notNull(mode, "Serialization mode must be provided."); + Objects.requireNonNull(mode, "Serialization mode must be provided."); switch (mode) { case JSON: return serializeJson(chunk, validLength); @@ -83,7 +83,7 @@ public static byte[] serializeChunk(Object[] chunk, int validLength, ObjectFileS public static List deserializeChunk(byte[] payload, ObjectFileSerializationMode mode, Class elementType) throws IOException, ClassNotFoundException { - Validate.notNull(mode, "Serialization mode must be provided."); + Objects.requireNonNull(mode, "Serialization mode must be provided."); switch (mode) { case JSON: return deserializeJson(payload, elementType); @@ -127,7 +127,7 @@ private static byte[] serializeJson(Object[] chunk, int validLength) throws IOEx } private static List deserializeJson(byte[] payload, Class elementType) throws IOException { - Validate.notNull(elementType, "Element type must be provided for JSON deserialization."); + Objects.requireNonNull(elementType, "Element type must be provided for JSON deserialization."); CollectionType type = OBJECT_MAPPER.getTypeFactory() .constructCollectionType(List.class, elementType); List list = OBJECT_MAPPER.readValue(payload, type); diff --git a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ObjectFileSink.java b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ObjectFileSink.java index c9d445ea3..e03502248 100644 --- a/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ObjectFileSink.java +++ b/wayang-commons/wayang-basic/src/main/java/org/apache/wayang/basic/operators/ObjectFileSink.java @@ -22,9 +22,6 @@ import java.util.concurrent.atomic.AtomicBoolean; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import org.apache.wayang.core.function.TransformationDescriptor; -import org.apache.wayang.core.optimizer.costs.DefaultLoadEstimator; -import org.apache.wayang.core.optimizer.costs.NestableLoadProfileEstimator; import org.apache.wayang.core.plan.wayangplan.UnarySink; import org.apache.wayang.core.types.DataSetType; diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/MapBasedKeyValueProvider.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/MapBasedKeyValueProvider.java index 96881d930..6ee70e04e 100644 --- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/MapBasedKeyValueProvider.java +++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/api/configuration/MapBasedKeyValueProvider.java @@ -18,11 +18,11 @@ package org.apache.wayang.core.api.configuration; -import org.apache.commons.lang3.Validate; import org.apache.wayang.core.api.Configuration; import java.util.HashMap; import java.util.Map; +import java.util.Objects; /** * Implementation of {@link KeyValueProvider} that uses a {@link Map} to provide a value. @@ -78,7 +78,7 @@ public MapBasedKeyValueProvider(KeyValueProvider parent, Configurati @Override public Value tryToProvide(Key key, KeyValueProvider requestee) { - Validate.notNull(key); + Objects.requireNonNull(key); return this.storedValues.get(key); } @@ -92,7 +92,7 @@ protected void processParentEntry(Key key, Value value) { @Override public void set(Key key, Value value) { - Validate.notNull(key); + Objects.requireNonNull(key); this.storedValues.put(key, value); } diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimationTraversal.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimationTraversal.java index 7dc5ae984..626db751a 100644 --- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimationTraversal.java +++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/cardinality/CardinalityEstimationTraversal.java @@ -18,7 +18,6 @@ package org.apache.wayang.core.optimizer.cardinality; -import org.apache.commons.lang3.Validate; import org.apache.wayang.core.api.Configuration; import org.apache.wayang.core.optimizer.OptimizationContext; import org.apache.wayang.core.plan.wayangplan.InputSlot; @@ -106,9 +105,9 @@ public static CardinalityEstimationTraversal createPushTraversal(Collection> borderInputSlots, Collection sourceOperators, Configuration configuration) { - Validate.notNull(inputSlots); - Validate.notNull(sourceOperators); - Validate.notNull(configuration); + Objects.requireNonNull(inputSlots); + Objects.requireNonNull(sourceOperators); + Objects.requireNonNull(configuration); // Starting from the an output, find all required inputs. return new Builder(inputSlots, borderInputSlots, sourceOperators, configuration).build(); diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanImplementation.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanImplementation.java index 320f75ce9..b66056af9 100644 --- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanImplementation.java +++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/optimizer/enumeration/PlanImplementation.java @@ -18,13 +18,11 @@ package org.apache.wayang.core.optimizer.enumeration; -import org.apache.commons.lang3.Validate; import org.apache.wayang.core.api.Configuration; import org.apache.wayang.core.optimizer.OptimizationContext; import org.apache.wayang.core.optimizer.ProbabilisticDoubleInterval; import org.apache.wayang.core.optimizer.costs.TimeEstimate; import org.apache.wayang.core.optimizer.costs.TimeToCostConverter; -import org.apache.wayang.core.optimizer.costs.DefaultEstimatableCost; import org.apache.wayang.core.optimizer.costs.EstimatableCost; import org.apache.wayang.core.plan.executionplan.Channel; import org.apache.wayang.core.plan.executionplan.ExecutionTask; @@ -516,7 +514,7 @@ public void addLoopImplementation(LoopSubplan loop, LoopImplementation loopImple * to a further {@link ExecutionOperator} in the further plan enumeration process */ public Collection getInterfaceOperators() { - Validate.notNull(this.getPlanEnumeration()); + Objects.requireNonNull(this.getPlanEnumeration()); final Set outputSlots = this.getPlanEnumeration().servingOutputSlots.stream() .map(Tuple::getField0) .distinct() diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopIsolator.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopIsolator.java index e497c0864..411559a6c 100644 --- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopIsolator.java +++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/plan/wayangplan/LoopIsolator.java @@ -26,6 +26,7 @@ import java.util.Collection; import java.util.HashSet; import java.util.List; +import java.util.Objects; /** * Goes over a {@link WayangPlan} and isolates its loops. @@ -114,7 +115,7 @@ private static Collection> collectInboundInputs(LoopHeadOperator lo // Sanity-check inputs of the loopHead. for (InputSlot inputSlot : loopHead.getLoopBodyInputs()) { - Validate.notNull(inputSlot.getOccupant(), "Loop body input %s is unconnected.", inputSlot); + Objects.requireNonNull(inputSlot.getOccupant(), "Loop body input " + inputSlot + " is unconnected."); Validate.isTrue(loopBodyOperators.contains(inputSlot.getOccupant().getOwner()), "Illegal input for loop head input %s.", inputSlot); } diff --git a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/ReflectionUtils.java b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/ReflectionUtils.java index d3ffd70a3..de8929e91 100644 --- a/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/ReflectionUtils.java +++ b/wayang-commons/wayang-core/src/main/java/org/apache/wayang/core/util/ReflectionUtils.java @@ -40,6 +40,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.Objects; import java.util.Optional; import java.util.function.Supplier; import java.util.regex.Matcher; @@ -91,7 +92,7 @@ public class ReflectionUtils { * no such file could be determined. */ public static String getDeclaringJar(Object object) { - Validate.notNull(object); + Objects.requireNonNull(object); return getDeclaringJar(object.getClass()); } diff --git a/wayang-profiler/src/main/java/org/apache/wayang/profiler/hardware/DiskProfiler.java b/wayang-profiler/src/main/java/org/apache/wayang/profiler/hardware/DiskProfiler.java index 9373b6672..b6c25a0e9 100644 --- a/wayang-profiler/src/main/java/org/apache/wayang/profiler/hardware/DiskProfiler.java +++ b/wayang-profiler/src/main/java/org/apache/wayang/profiler/hardware/DiskProfiler.java @@ -18,7 +18,6 @@ package org.apache.wayang.profiler.hardware; -import org.apache.commons.lang3.Validate; import org.apache.wayang.core.util.Formats; import org.apache.wayang.core.util.fs.FileSystem; import org.apache.wayang.core.util.fs.FileSystems; @@ -29,6 +28,7 @@ import java.io.OutputStream; import java.util.LinkedList; import java.util.List; +import java.util.Objects; import java.util.Random; /** @@ -43,7 +43,7 @@ public class DiskProfiler { public DiskProfiler(String testFileURl) { this.testFileURl = testFileURl; this.fs = FileSystems.getFileSystem(this.testFileURl).orElse(null); - Validate.notNull(this.fs); + Objects.requireNonNull(this.fs); } /**