diff --git a/Base/build.gradle b/Base/build.gradle index 7bdb1ca32c5..872cf943208 100644 --- a/Base/build.gradle +++ b/Base/build.gradle @@ -44,11 +44,3 @@ configurations { artifacts { tests jarTests } - -spotless { - java { - targetExclude( - '**/ringbuffer/Aggregating*RingBuffer*.java' - ) - } -} diff --git a/ClientSupport/ClientSupport.gradle b/ClientSupport/ClientSupport.gradle index 32e15e2d617..ec3c002ee0e 100644 --- a/ClientSupport/ClientSupport.gradle +++ b/ClientSupport/ClientSupport.gradle @@ -13,11 +13,3 @@ dependencies { implementation project(':Configuration') implementation depCommonsLang3 } - -spotless { - java { - targetExclude( - '**/**ValueTracker.java', - ) - } -} diff --git a/Container/build.gradle b/Container/build.gradle index 1c3a342402e..896d88dc8ae 100644 --- a/Container/build.gradle +++ b/Container/build.gradle @@ -5,4 +5,10 @@ plugins { dependencies { Classpaths.inheritJUnitClassic(project, 'testImplementation') -} \ No newline at end of file +} + +spotless { + java { + targetExclude '**/*' + } +} diff --git a/Generators/src/main/java/io/deephaven/gen/GenUtils.java b/Generators/src/main/java/io/deephaven/gen/GenUtils.java index b4ec61df602..158ce6d781d 100644 --- a/Generators/src/main/java/io/deephaven/gen/GenUtils.java +++ b/Generators/src/main/java/io/deephaven/gen/GenUtils.java @@ -1,3 +1,6 @@ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.gen; import gnu.trove.map.TIntObjectMap; @@ -38,16 +41,16 @@ public static String indent(final int n) { * @return The header for a generated java file */ public static String javaHeader(final Class generatorClass, final String gradleTask) { - return "/**\n" + - " * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending\n" + - " */\n" + - "/****************************************************************************************************************************\n" - + - " ****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - Run " + generatorClass.getSimpleName() - + " or \"./gradlew " + gradleTask + "\" to regenerate\n" - + - " ****************************************************************************************************************************/\n\n"; - + return String.join("\n", + "//", + "// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending", + "//", + "// ****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY", + "// ****** Run " + generatorClass.getSimpleName() + " or \"./gradlew " + gradleTask + + "\" to regenerate", + "//", + "// @formatter:off", + ""); } /** diff --git a/Generators/src/main/java/io/deephaven/plot/util/GenerateAxesPlotMethods.java b/Generators/src/main/java/io/deephaven/plot/util/GenerateAxesPlotMethods.java index c2bbba7739f..b3b8a0d655a 100644 --- a/Generators/src/main/java/io/deephaven/plot/util/GenerateAxesPlotMethods.java +++ b/Generators/src/main/java/io/deephaven/plot/util/GenerateAxesPlotMethods.java @@ -604,7 +604,10 @@ private static void generate(final boolean assertNoChange, final String file, fi final String header3 = headerSpace + headerComment + " AND THEN RUN GeneratePlottingConvenience " + headerComment; - StringBuilder code = new StringBuilder(header + "\n" + header2 + "\n" + header3 + "\n\n\n"); + StringBuilder code = new StringBuilder().append(header).append("\n") + .append(header2).append("\n") + .append(header3).append("\n// @formatter:off\n\n\n"); + code.append( codeFunction(isInterface, new String[] {"x", "y"}, new String[][] {numberTimeTypes, numberTimeTypes}, diff --git a/Generators/src/main/java/io/deephaven/plot/util/GenerateMultiSeries.java b/Generators/src/main/java/io/deephaven/plot/util/GenerateMultiSeries.java index fb2d5fea436..8b9379ea3b1 100644 --- a/Generators/src/main/java/io/deephaven/plot/util/GenerateMultiSeries.java +++ b/Generators/src/main/java/io/deephaven/plot/util/GenerateMultiSeries.java @@ -198,7 +198,9 @@ private void generateCode(final String devroot, final boolean assertNoChange, fi final String header3 = headerSpace + headerComment + " AND THEN RUN GenerateFigureImmutable " + headerComment; - code.append(String.join("\n", header, header2, header3)).append("\n\n"); + code.append(String.join("\n", header, header2, header3)) + .append("\n// @formatter:off\n\n"); + code.append(generateClasses(skip)); diff --git a/Generators/src/main/java/io/deephaven/pythonPreambles/plotV2.py b/Generators/src/main/java/io/deephaven/pythonPreambles/plotV2.py index d0acd29c87a..42ee927b9cb 100644 --- a/Generators/src/main/java/io/deephaven/pythonPreambles/plotV2.py +++ b/Generators/src/main/java/io/deephaven/pythonPreambles/plotV2.py @@ -1,5 +1,5 @@ # -# Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending +# Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending # ###################################################################################################################### diff --git a/Plot/Plot.gradle b/Plot/Plot.gradle index 1d6a6068bfa..038280a4e5b 100644 --- a/Plot/Plot.gradle +++ b/Plot/Plot.gradle @@ -36,16 +36,3 @@ dependencies { testRuntimeOnly project(':log-to-slf4j') Classpaths.inheritSlf4j(project, 'slf4j-simple', 'testRuntimeOnly') } - -spotless { - java { - targetExclude( - 'src/main/java/io/deephaven/plot/Axes.java', - 'src/main/java/io/deephaven/plot/AxesImpl.java', - 'src/main/java/io/deephaven/plot/Figure.java', - 'src/main/java/io/deephaven/plot/FigureImpl.java', - 'src/main/java/io/deephaven/plot/PlottingConvenience.java', - 'src/main/java/io/deephaven/plot/datasets/multiseries/**' - ) - } -} \ No newline at end of file diff --git a/authorization-codegen/src/main/java/io/deephaven/auth/codegen/GenerateContextualAuthWiring.java b/authorization-codegen/src/main/java/io/deephaven/auth/codegen/GenerateContextualAuthWiring.java index 5ccf816b639..8e55cd53631 100644 --- a/authorization-codegen/src/main/java/io/deephaven/auth/codegen/GenerateContextualAuthWiring.java +++ b/authorization-codegen/src/main/java/io/deephaven/auth/codegen/GenerateContextualAuthWiring.java @@ -132,7 +132,7 @@ private static void generateForService( grpcServiceName); JavaFile javaFile = JavaFile.builder(packageName, typeSpec.build()) .addFileComment("\n") - .addFileComment("Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending\n") + .addFileComment("Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending\n") .addFileComment("\n") .addFileComment("---------------------------------------------------------------------\n") .addFileComment("This class is generated by GenerateContextualAuthWiring. DO NOT EDIT!\n") diff --git a/authorization-codegen/src/main/java/io/deephaven/auth/codegen/GenerateServiceAuthWiring.java b/authorization-codegen/src/main/java/io/deephaven/auth/codegen/GenerateServiceAuthWiring.java index cf3759f62bd..1688408e2ca 100644 --- a/authorization-codegen/src/main/java/io/deephaven/auth/codegen/GenerateServiceAuthWiring.java +++ b/authorization-codegen/src/main/java/io/deephaven/auth/codegen/GenerateServiceAuthWiring.java @@ -166,7 +166,7 @@ private static void generateForService( service.getName() + "Grpc"); JavaFile javaFile = JavaFile.builder(packageName, typeSpec.build()) .addFileComment("\n") - .addFileComment("Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending\n") + .addFileComment("Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending\n") .addFileComment("\n") .addFileComment("------------------------------------------------------------------\n") .addFileComment("This class is generated by GenerateServiceAuthWiring. DO NOT EDIT!\n") diff --git a/buildSrc/src/main/groovy/io.deephaven.java-coding-conventions.gradle b/buildSrc/src/main/groovy/io.deephaven.java-coding-conventions.gradle index b3e6c9ff280..6d783742d5f 100644 --- a/buildSrc/src/main/groovy/io.deephaven.java-coding-conventions.gradle +++ b/buildSrc/src/main/groovy/io.deephaven.java-coding-conventions.gradle @@ -1,3 +1,5 @@ +import com.diffplug.spotless.generic.LicenseHeaderStep + plugins { id 'com.diffplug.spotless' } @@ -5,6 +7,10 @@ plugins { spotless { java { eclipse().configFile("${rootDir}/style/eclipse-java-google-style.xml") + + licenseHeader '''// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +//''', '(' + LicenseHeaderStep.DEFAULT_JAVA_HEADER_DELIMITER + '|// (\\*\\*\\*\\*\\*|@formatter:off))' } } diff --git a/buildSrc/src/main/groovy/io.deephaven.java-common-conventions.gradle b/buildSrc/src/main/groovy/io.deephaven.java-common-conventions.gradle index 31e52561a80..291dcf03d23 100644 --- a/buildSrc/src/main/groovy/io.deephaven.java-common-conventions.gradle +++ b/buildSrc/src/main/groovy/io.deephaven.java-common-conventions.gradle @@ -3,7 +3,6 @@ plugins { id 'java' id 'io.deephaven.java-classpath-conventions' id 'io.deephaven.java-license-conventions' - id 'io.deephaven.java-header-conventions' id 'io.deephaven.java-toolchain-conventions' id 'io.deephaven.java-jar-conventions' } diff --git a/buildSrc/src/main/groovy/io.deephaven.java-header-conventions.gradle b/buildSrc/src/main/groovy/io.deephaven.java-header-conventions.gradle deleted file mode 100644 index a3671378ef6..00000000000 --- a/buildSrc/src/main/groovy/io.deephaven.java-header-conventions.gradle +++ /dev/null @@ -1 +0,0 @@ -// TODO (deephaven-core#1997) Update or remove this once license headers are part of spotless diff --git a/buildSrc/src/main/groovy/io.deephaven.python-wheel.gradle b/buildSrc/src/main/groovy/io.deephaven.python-wheel.gradle index 0546a7be749..efc245638dd 100644 --- a/buildSrc/src/main/groovy/io.deephaven.python-wheel.gradle +++ b/buildSrc/src/main/groovy/io.deephaven.python-wheel.gradle @@ -1,12 +1,22 @@ plugins { id 'com.bmuschko.docker-remote-api' id 'io.deephaven.project.register' + id 'com.diffplug.spotless' } import io.deephaven.python.PythonWheelExtension project.extensions.create('wheel', PythonWheelExtension, project.objects) +spotless { + python { + target '**/*.py' + targetExclude '**/proto/*_pb2*', '**/setup.py', 'docs/**' + licenseHeader '#\n' + + '# Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending\n' + + '#', '[^#]' + } +} configurations { pythonWheel getByName(Dependency.DEFAULT_CONFIGURATION).extendsFrom(pythonWheel) diff --git a/codegen/src/main/java/io/deephaven/generator/primitivetemplate/CodeGenerator.java b/codegen/src/main/java/io/deephaven/generator/primitivetemplate/CodeGenerator.java index 671a7489ce6..d5c6a39a0b3 100644 --- a/codegen/src/main/java/io/deephaven/generator/primitivetemplate/CodeGenerator.java +++ b/codegen/src/main/java/io/deephaven/generator/primitivetemplate/CodeGenerator.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.generator.primitivetemplate; import freemarker.template.Configuration; @@ -36,11 +36,16 @@ public static void main(final String[] args) throws Exception { final Writer fileWriter = new FileWriter(new File(outputFile)); fileWriter.write( - "/**********************************************************************************\n" + - "* DO NOT EDIT THIS FILE.\n" + - "* This code was auto-generated from " + templateFile + " by CodeGenerator.\n" + - "* Manual changes to this file will be lost.\n" + - "***********************************************************************************/\n\n"); + String.join("\n", + "//", + "// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending", + "//", + "// ****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY", + "// ****** Edit " + templateFile + + " and run \"./gradlew :engine-function:compileJava\" to regenerate", + "//", + "// @formatter:off", + "")); try { template.process(input, fileWriter); diff --git a/cpp-client/build.gradle b/cpp-client/build.gradle index bcc4f7a369a..0b686c24faf 100644 --- a/cpp-client/build.gradle +++ b/cpp-client/build.gradle @@ -4,6 +4,17 @@ plugins { id 'com.bmuschko.docker-remote-api' id 'io.deephaven.project.register' id 'io.deephaven.deephaven-in-docker' + id 'com.diffplug.spotless' +} + +spotless { + cpp { + target '**/*.cc', '**/*.h' + targetExclude '**/Barrage_generated.h', '**/third_party/**', '**/*.pb.*' + licenseHeader '''/* + * Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending + */''' + } } // We use the cpp-clients-multi-base image instead of the cpp-client-base, diff --git a/engine/api/build.gradle b/engine/api/build.gradle index da1b96efc50..c64d7c1f866 100644 --- a/engine/api/build.gradle +++ b/engine/api/build.gradle @@ -28,19 +28,3 @@ dependencies { Classpaths.inheritJUnitClassic(project, 'testImplementation') } - -spotless { - java { - targetExclude( - '**/*Boolean*.java', - '**/*Byte*.java', - '**/*Char*.java', - '**/*Short*.java', - '**/*Int*.java', - '**/*Long*.java', - '**/*Float*.java', - '**/*Double*.java', - '**/*Object*.java', - ) - } -} diff --git a/engine/benchmark/build.gradle b/engine/benchmark/build.gradle index 1792a1d0b34..a05786cd526 100644 --- a/engine/benchmark/build.gradle +++ b/engine/benchmark/build.gradle @@ -27,22 +27,6 @@ dependencies { testRuntimeOnly project(path: ':test-configs') } -spotless { - java { - targetExclude( - '**/Boolean*Benchmark.java', - '**/Byte*Benchmark.java', - '**/Char*Benchmark.java', - '**/Short*Benchmark.java', - '**/Int*Benchmark.java', - '**/Long*Benchmark.java', - '**/Float*Benchmark.java', - '**/Double*Benchmark.java', - '**/Object*Benchmark.java', - ) - } -} - task jmhRun(type: JavaExec) { new File("$rootDir/tmp/workspace").mkdirs() new File("$rootDir/tmp/logs").mkdirs() diff --git a/engine/chunk/build.gradle b/engine/chunk/build.gradle index e99450acc9f..16aca71378c 100644 --- a/engine/chunk/build.gradle +++ b/engine/chunk/build.gradle @@ -16,19 +16,3 @@ dependencies { project(path: ':test-configs') Classpaths.inheritSlf4j(project, 'slf4j-simple', 'testRuntimeOnly') } - -spotless { - java { - targetExclude( - '**/*Boolean*.java', - '**/*Byte*.java', - '**/*Char*.java', - '**/*Short*.java', - '**/*Int*.java', - '**/*Long*.java', - '**/*Float*.java', - '**/*Double*.java', - '**/*Object*.java', - ) - } -} diff --git a/engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunk.java b/engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunk.java index 4b702b55e99..b3b9c2adcba 100644 --- a/engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunk.java +++ b/engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunk.java @@ -3,8 +3,6 @@ */ package io.deephaven.chunk; -// @formatter:off - import io.deephaven.chunk.attributes.Any; import io.deephaven.chunk.util.pools.MultiChunkPool; @@ -23,8 +21,6 @@ import static io.deephaven.chunk.util.pools.ChunkPoolConstants.POOL_WRITABLE_CHUNKS; -// @formatter:on - /** * {@link WritableChunk} implementation for char data. */ diff --git a/engine/function/build.gradle b/engine/function/build.gradle index e07fb0a7ffc..e6a901ab469 100644 --- a/engine/function/build.gradle +++ b/engine/function/build.gradle @@ -27,13 +27,6 @@ dependencies { def generatedFiles = [] -spotless { - java { - targetExclude generatedFiles - } -} - - //////////////// Code Generation //////////////// // task to clean up generated files @@ -52,6 +45,12 @@ def gencode = { name, template, output -> inputs.file template outputs.file output } + tasks.named('spotlessJava').configure { + mustRunAfter gen + } + tasks.named('spotlessJavaCheck').configure { + mustRunAfter gen + } [sourceSets.main.compileJavaTaskName, sourceSets.main.sourcesJarTaskName, sourceSets.main.javadocTaskName].each { tasks.named(it).configure { diff --git a/engine/function/src/templates/Basic.ftl b/engine/function/src/templates/Basic.ftl index fd55d76eb1d..1331f750802 100644 --- a/engine/function/src/templates/Basic.ftl +++ b/engine/function/src/templates/Basic.ftl @@ -1,6 +1,6 @@ -/* - * Copyright (c) 2016-2021 Deephaven Data Labs and Patent Pending - */ +<#-- + Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +--> package io.deephaven.function; diff --git a/engine/function/src/templates/BinSearch.ftl b/engine/function/src/templates/BinSearch.ftl index b40729d8c2d..83acd7f8dce 100644 --- a/engine/function/src/templates/BinSearch.ftl +++ b/engine/function/src/templates/BinSearch.ftl @@ -1,3 +1,6 @@ +<#-- + Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +--> package io.deephaven.function; diff --git a/engine/function/src/templates/Cast.ftl b/engine/function/src/templates/Cast.ftl index d7ab634b9da..81c5e0d6bb2 100644 --- a/engine/function/src/templates/Cast.ftl +++ b/engine/function/src/templates/Cast.ftl @@ -1,6 +1,6 @@ -/* - * Copyright (c) 2016-2021 Deephaven Data Labs and Patent Pending - */ +<#-- + Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +--> package io.deephaven.function; diff --git a/engine/function/src/templates/Numeric.ftl b/engine/function/src/templates/Numeric.ftl index d9d5404d3ca..7703309466f 100644 --- a/engine/function/src/templates/Numeric.ftl +++ b/engine/function/src/templates/Numeric.ftl @@ -1,3 +1,6 @@ +<#-- + Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +--> package io.deephaven.function; diff --git a/engine/function/src/templates/Sort.ftl b/engine/function/src/templates/Sort.ftl index 87b66c49db1..9e8edc32749 100644 --- a/engine/function/src/templates/Sort.ftl +++ b/engine/function/src/templates/Sort.ftl @@ -1,3 +1,6 @@ +<#-- + Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +--> package io.deephaven.function; diff --git a/engine/function/src/templates/TestBasic.ftl b/engine/function/src/templates/TestBasic.ftl index 9b538186bcb..8b9821dce80 100644 --- a/engine/function/src/templates/TestBasic.ftl +++ b/engine/function/src/templates/TestBasic.ftl @@ -1,6 +1,6 @@ -/* - * Copyright (c) 2016-2021 Deephaven Data Labs and Patent Pending - */ +<#-- + Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +--> package io.deephaven.function; diff --git a/engine/function/src/templates/TestBinSearch.ftl b/engine/function/src/templates/TestBinSearch.ftl index 6562732f87b..705f7ecf26d 100644 --- a/engine/function/src/templates/TestBinSearch.ftl +++ b/engine/function/src/templates/TestBinSearch.ftl @@ -1,6 +1,6 @@ -/* - * Copyright (c) 2016-2021 Deephaven Data Labs and Patent Pending - */ +<#-- + Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +--> package io.deephaven.function; diff --git a/engine/function/src/templates/TestCast.ftl b/engine/function/src/templates/TestCast.ftl index 92a07b582a5..fdf2ea0f11c 100644 --- a/engine/function/src/templates/TestCast.ftl +++ b/engine/function/src/templates/TestCast.ftl @@ -1,6 +1,6 @@ -/* - * Copyright (c) 2016-2021 Deephaven Data Labs and Patent Pending - */ +<#-- + Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +--> package io.deephaven.function; diff --git a/engine/function/src/templates/TestNumeric.ftl b/engine/function/src/templates/TestNumeric.ftl index e8dd31f5fe8..8e9e573d1c4 100644 --- a/engine/function/src/templates/TestNumeric.ftl +++ b/engine/function/src/templates/TestNumeric.ftl @@ -1,6 +1,6 @@ -/* - * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending - */ +<#-- + Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +--> package io.deephaven.function; diff --git a/engine/function/src/templates/TestSort.ftl b/engine/function/src/templates/TestSort.ftl index 5493b78590c..980b41c6035 100644 --- a/engine/function/src/templates/TestSort.ftl +++ b/engine/function/src/templates/TestSort.ftl @@ -1,6 +1,6 @@ -/* - * Copyright (c) 2016-2021 Deephaven Data Labs and Patent Pending - */ +<#-- + Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +--> package io.deephaven.function; diff --git a/engine/primitive/build.gradle b/engine/primitive/build.gradle index cb09307b0d4..f51d401e900 100644 --- a/engine/primitive/build.gradle +++ b/engine/primitive/build.gradle @@ -10,18 +10,3 @@ dependencies { compileOnly depAnnotations } - -spotless { - java { - targetExclude( - '**/*Byte*.java', - '**/*Char*.java', - '**/*Short*.java', - '**/*Int*.java', - '**/*Long*.java', - '**/*Float*.java', - '**/*Double*.java', - '**/*Object*.java' - ) - } -} diff --git a/engine/table/build.gradle b/engine/table/build.gradle index 83f2b935e7f..c00709d35c0 100644 --- a/engine/table/build.gradle +++ b/engine/table/build.gradle @@ -83,34 +83,9 @@ dependencies { spotless { java { - targetExclude( - '**/generated/**', - '**/*Boolean*.java', - '**/*Byte*.java', - '**/*Char*.java', - '**/*Short*.java', - '**/*Int*.java', - '**/*Long*.java', - '**/*Float*.java', - '**/*Double*.java', - '**/*Object*.java', - '**/*StateManager.java', - '**/incagg/gen/*.java', - '**/incopenagg/gen/*.java', - '**/staticagg/gen/*.java', - '**/staticopenagg/gen/*.java', - '**/naturaljoin/typed/staticopen/gen/*.java', - '**/naturaljoin/typed/incopen/gen/*.java', - '**/naturaljoin/typed/rightincopen/gen/*.java', - '**/asofjoin/typed/rightincopen/gen/*.java', - '**/asofjoin/typed/staticopen/gen/*.java', - '**/updateby/hashing/typed/open/gen/*.java', - '**/multijoin/typed/staticopen/gen/*.java', - '**/multijoin/typed/incopen/gen/*.java', - 'src/main/java/io/deephaven/engine/table/impl/SymbolTableCombiner.java', - 'src/main/java/io/deephaven/libs/GroovyStaticImports.java', - 'src/test/java/**/*Sample.java' - ) + // Exclude these codegen sample files from here so we don't even need a comment to disable formatting + targetExclude 'src/test/java/io/deephaven/engine/table/impl/select/FilterKernel*Sample.java', + 'src/test/java/io/deephaven/engine/table/impl/select/Formula*Sample.java' } } diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/LeftOnlyIncrementalChunkedCrossJoinStateManager.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/LeftOnlyIncrementalChunkedCrossJoinStateManager.java index 342897096d7..8d3a72fa75e 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/LeftOnlyIncrementalChunkedCrossJoinStateManager.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/LeftOnlyIncrementalChunkedCrossJoinStateManager.java @@ -1,6 +1,7 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// +// @formatter:off package io.deephaven.engine.table.impl; import io.deephaven.base.verify.Require; diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/typed/TypedHasherFactory.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/typed/TypedHasherFactory.java index 601ae2fb3bc..6ff7f0460fe 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/by/typed/TypedHasherFactory.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/by/typed/TypedHasherFactory.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.engine.table.impl.by.typed; import com.squareup.javapoet.*; @@ -651,9 +651,14 @@ public static JavaFile generateHasher(final HasherConfig hasherConfig, final TypeSpec hasher = hasherBuilder.build(); final JavaFile.Builder fileBuilder = JavaFile.builder(packageName, hasher).indent(" "); - fileBuilder.addFileComment("DO NOT EDIT THIS CLASS, AUTOMATICALLY GENERATED BY " - + TypedHasherFactory.class.getCanonicalName() + "\n" + - "Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending\n"); + fileBuilder.addFileComment("\n"); + fileBuilder.addFileComment("Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending\n"); + fileBuilder.addFileComment("\n"); + fileBuilder.addFileComment("****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY\n"); + fileBuilder + .addFileComment("****** Run ReplicateTypedHashers or ./gradlew replicateTypedHashers to regenerate\n"); + fileBuilder.addFileComment("\n"); + fileBuilder.addFileComment("@formatter:off"); for (ChunkType chunkType : chunkTypes) { fileBuilder.addStaticImport( diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/lang/QueryLanguageFunctionGenerator.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/lang/QueryLanguageFunctionGenerator.java index c1fd838d3da..e3259a45837 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/lang/QueryLanguageFunctionGenerator.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/lang/QueryLanguageFunctionGenerator.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.engine.table.impl.lang; import io.deephaven.util.type.TypeUtils; @@ -308,13 +308,15 @@ public static void main(String args[]) { StringBuilder buf = new StringBuilder(sbCapacity); StringBuilder testBuf = new StringBuilder(sbCapacity); - buf.append("/*\n" + - " * Copyright (c) 2016-").append(LocalDate.now().getYear()) - .append(" Deephaven Data Labs and Patent Pending\n" + - " * GENERATED CODE - DO NOT MODIFY DIRECTLY\n" + - " * This class generated by " + QueryLanguageFunctionGenerator.class.getCanonicalName() + "\n" + - " */\n" + - "\n"); + buf.append(String.join("\n", + "//", + "// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending", + "//", + "// ****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY", + "// ****** Run " + QueryLanguageFunctionGenerator.class.getSimpleName() + " to regenerate", + "//", + "// @formatter:off", + "")); buf.append("package io.deephaven.engine.table.impl.lang;\n\n"); @@ -356,14 +358,15 @@ public static void main(String args[]) { // ------------------------------------------------------------------------------------------------------------------------------------------------------------------ /* Now start the test class: */ - testBuf.append("/*\n") - .append(" * Copyright (c) 2016-").append(LocalDate.now().getYear()) - .append(" * Deephaven Data Labs and Patent Pending\n") - .append(" * GENERATED CODE - DO NOT MODIFY DIRECTLY\n") - .append(" * This class generated by ").append(QueryLanguageFunctionGenerator.class.getCanonicalName()) - .append("\n") - .append(" */\n") - .append("\n"); + testBuf.append(String.join("\n", + "//", + "// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending", + "//", + "// ****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY", + "// ****** Run " + QueryLanguageFunctionGenerator.class.getSimpleName() + " to regenerate", + "//", + "// @formatter:off", + "")); testBuf.append("package io.deephaven.engine.table.impl.lang;\n\n"); diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterArraySource.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterArraySource.java index f88f02b9ae7..4509d64fcb9 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterArraySource.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterArraySource.java @@ -1,6 +1,7 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// +// @formatter:off package io.deephaven.engine.table.impl.sources; import gnu.trove.list.array.TIntArrayList; diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/sparse/CharOneOrN.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/sparse/CharOneOrN.java index 01ba920d946..d3caf8062c1 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/sparse/CharOneOrN.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/sources/sparse/CharOneOrN.java @@ -1,6 +1,7 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// +// @formatter:off package io.deephaven.engine.table.impl.sources.sparse; import io.deephaven.util.SoftRecycler; diff --git a/engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/fill/CharFillByOperator.java b/engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/fill/CharFillByOperator.java index e6c3ba5fa2c..8dce00340f8 100644 --- a/engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/fill/CharFillByOperator.java +++ b/engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/fill/CharFillByOperator.java @@ -1,3 +1,7 @@ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// +// @formatter:off package io.deephaven.engine.table.impl.updateby.fill; import io.deephaven.base.verify.Assert; diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/sort/timsort/BaseTestCharTimSortKernel.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/sort/timsort/BaseTestCharTimSortKernel.java index a6082d0f0b9..685ff4a1021 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/sort/timsort/BaseTestCharTimSortKernel.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/sort/timsort/BaseTestCharTimSortKernel.java @@ -1,6 +1,7 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// +// @formatter:off package io.deephaven.engine.table.impl.sort.timsort; import io.deephaven.chunk.attributes.Any; diff --git a/engine/table/src/test/java/io/deephaven/engine/table/impl/ssms/TestCharSegmentedSortedMultiset.java b/engine/table/src/test/java/io/deephaven/engine/table/impl/ssms/TestCharSegmentedSortedMultiset.java index 43d137a1e79..a016c881397 100644 --- a/engine/table/src/test/java/io/deephaven/engine/table/impl/ssms/TestCharSegmentedSortedMultiset.java +++ b/engine/table/src/test/java/io/deephaven/engine/table/impl/ssms/TestCharSegmentedSortedMultiset.java @@ -1,6 +1,7 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// +// @formatter:off package io.deephaven.engine.table.impl.ssms; import io.deephaven.base.verify.AssertionFailure; diff --git a/engine/time/build.gradle b/engine/time/build.gradle index a549964e617..8f55b159ec1 100644 --- a/engine/time/build.gradle +++ b/engine/time/build.gradle @@ -27,11 +27,3 @@ dependencies { project(path: ':test-configs') Classpaths.inheritSlf4j(project, 'slf4j-simple', 'testRuntimeOnly') } - -spotless { - java { - targetExclude( - 'src/main/java/io/deephaven/time/calendar/StaticCalendarMethods.java', - ) - } -} \ No newline at end of file diff --git a/engine/tuplesource/build.gradle b/engine/tuplesource/build.gradle index 11e3420b4d1..afdd0ecaed2 100644 --- a/engine/tuplesource/build.gradle +++ b/engine/tuplesource/build.gradle @@ -13,11 +13,3 @@ dependencies { Classpaths.inheritAutoService(project) } - -spotless { - java { - targetExclude( - '**/generated/**', - ) - } -} diff --git a/engine/vector/build.gradle b/engine/vector/build.gradle index b1d86f2fbec..9271ed56c1c 100644 --- a/engine/vector/build.gradle +++ b/engine/vector/build.gradle @@ -16,18 +16,3 @@ dependencies { Classpaths.inheritJUnitClassic(project, 'testImplementation') } - -spotless { - java { - targetExclude( - '**/Byte*Vector*.java', - '**/Char*Vector*.java', - '**/Short*Vector*.java', - '**/Int*Vector*.java', - '**/Long*Vector*.java', - '**/Float*Vector*.java', - '**/Double*Vector*.java', - '**/Object*Vector*.java' - ) - } -} diff --git a/engine/vector/src/main/java/io/deephaven/vector/CharVector.java b/engine/vector/src/main/java/io/deephaven/vector/CharVector.java index 99c92c8c442..405ff4ade07 100644 --- a/engine/vector/src/main/java/io/deephaven/vector/CharVector.java +++ b/engine/vector/src/main/java/io/deephaven/vector/CharVector.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.vector; import io.deephaven.base.verify.Require; @@ -149,10 +149,8 @@ static boolean equals(@NotNull final CharVector aVector, @Nullable final Object if (size == 0) { return true; } - // @formatter:off try (final CloseablePrimitiveIteratorOfChar aIterator = aVector.iterator(); - final CloseablePrimitiveIteratorOfChar bIterator = bVector.iterator()) { - // @formatter:on + final CloseablePrimitiveIteratorOfChar bIterator = bVector.iterator()) { while (aIterator.hasNext()) { // region ElementEquals if (aIterator.nextChar() != bIterator.nextChar()) { diff --git a/extensions/arrow/build.gradle b/extensions/arrow/build.gradle index 93996ff889a..9eb35a3cf93 100644 --- a/extensions/arrow/build.gradle +++ b/extensions/arrow/build.gradle @@ -26,13 +26,4 @@ dependencies { Classpaths.inheritAssertJ(project) } -spotless { - java { - targetExclude( - '**/Arrow*ColumnSource.java', - '**/Arrow*VectorTest.java', - ) - } -} - apply plugin: 'io.deephaven.java-open-nio' diff --git a/extensions/barrage/build.gradle b/extensions/barrage/build.gradle index 9e1b4d540f4..58c7c285b39 100644 --- a/extensions/barrage/build.gradle +++ b/extensions/barrage/build.gradle @@ -40,12 +40,3 @@ dependencies { Classpaths.inheritAssertJ(project) testImplementation 'org.junit.jupiter:junit-jupiter' } - -spotless { - java { - targetExclude( - '**/*ChunkInputStreamGenerator.java', - '**/*ArrayExpansionKernel.java' - ) - } -} diff --git a/extensions/kafka/build.gradle b/extensions/kafka/build.gradle index ee0c8557c66..8ba1c123ad6 100644 --- a/extensions/kafka/build.gradle +++ b/extensions/kafka/build.gradle @@ -46,11 +46,3 @@ dependencies { Classpaths.inheritAssertJ(project) } - -spotless { - java { - targetExclude( - '**/**FieldCopier.java', - ) - } -} diff --git a/extensions/parquet/base/build.gradle b/extensions/parquet/base/build.gradle index 028731cd85a..f50b4bb61b3 100644 --- a/extensions/parquet/base/build.gradle +++ b/extensions/parquet/base/build.gradle @@ -18,11 +18,3 @@ dependencies { compileOnly depAnnotations Classpaths.inheritJUnitClassic(project, 'testImplementation') } - -spotless { - java { - targetExclude( - '**/*ChunkedWriter.java', - ) - } -} diff --git a/extensions/parquet/benchmark/build.gradle b/extensions/parquet/benchmark/build.gradle index 851d68189b6..21ff1d0de61 100644 --- a/extensions/parquet/benchmark/build.gradle +++ b/extensions/parquet/benchmark/build.gradle @@ -27,22 +27,6 @@ dependencies { testRuntimeOnly project(path: ':test-configs') } -spotless { - java { - targetExclude( - '**/Boolean*Benchmark.java', - '**/Byte*Benchmark.java', - '**/Char*Benchmark.java', - '**/Short*Benchmark.java', - '**/Int*Benchmark.java', - '**/Long*Benchmark.java', - '**/Float*Benchmark.java', - '**/Double*Benchmark.java', - '**/Object*Benchmark.java', - ) - } -} - task jmhRun(type: JavaExec) { new File("$rootDir/tmp/workspace").mkdirs() new File("$rootDir/tmp/logs").mkdirs() diff --git a/extensions/parquet/table/build.gradle b/extensions/parquet/table/build.gradle index 0d94cc69401..f7699b750d5 100644 --- a/extensions/parquet/table/build.gradle +++ b/extensions/parquet/table/build.gradle @@ -69,21 +69,4 @@ if (Architecture.fromHost() == Architecture.AMD64) { }) } -spotless { - java { - targetExclude( - '**/*Boolean*.java', - '**/*Byte*.java', - '**/*Char*.java', - '**/*Short*.java', - '**/*Int*.java', - '**/*Long*.java', - '**/*Float*.java', - '**/*Double*.java', - '**/*Object*.java', - '**/*Transfer*.java', - ) - } -} - TestTools.addEngineOutOfBandTest(project) diff --git a/extensions/source-support/build.gradle b/extensions/source-support/build.gradle index a2901763bd4..f061b6036fe 100644 --- a/extensions/source-support/build.gradle +++ b/extensions/source-support/build.gradle @@ -27,20 +27,4 @@ dependencies { Classpaths.inheritSlf4j(project, 'slf4j-simple', 'testRuntimeOnly') } -spotless { - java { - targetExclude( - '**/*Boolean*.java', - '**/*Byte*.java', - '**/*Char*.java', - '**/*Short*.java', - '**/*Int*.java', - '**/*Long*.java', - '**/*Float*.java', - '**/*Double*.java', - '**/*Object*.java', - ) - } -} - TestTools.addEngineOutOfBandTest(project) diff --git a/grpc-java/grpc-mtls/build.gradle b/grpc-java/grpc-mtls/build.gradle index 2863d36bce9..9272f0a9f6f 100644 --- a/grpc-java/grpc-mtls/build.gradle +++ b/grpc-java/grpc-mtls/build.gradle @@ -8,3 +8,9 @@ dependencies { Classpaths.inheritGrpcPlatform(project) implementation 'io.grpc:grpc-core' } + +spotless { + java { + targetExclude '**/*' + } +} diff --git a/grpc-java/grpc-mtls/src/main/java/io/deephaven/grpc/AbstractMtlsClientCertificateInterceptor.java b/grpc-java/grpc-mtls/src/main/java/io/deephaven/grpc/AbstractMtlsClientCertificateInterceptor.java index 0a5d5bd2752..ac304877891 100644 --- a/grpc-java/grpc-mtls/src/main/java/io/deephaven/grpc/AbstractMtlsClientCertificateInterceptor.java +++ b/grpc-java/grpc-mtls/src/main/java/io/deephaven/grpc/AbstractMtlsClientCertificateInterceptor.java @@ -1,3 +1,15 @@ +/* + * Copyright 2022 Deephaven Data Labs + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ package io.deephaven.grpc; import io.grpc.Context; diff --git a/grpc-java/grpc-mtls/src/main/java/io/deephaven/grpc/MTlsCertificate.java b/grpc-java/grpc-mtls/src/main/java/io/deephaven/grpc/MTlsCertificate.java index 84898a46a0d..5e7216cb908 100644 --- a/grpc-java/grpc-mtls/src/main/java/io/deephaven/grpc/MTlsCertificate.java +++ b/grpc-java/grpc-mtls/src/main/java/io/deephaven/grpc/MTlsCertificate.java @@ -1,3 +1,15 @@ +/* + * Copyright 2022 Deephaven Data Labs + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ package io.deephaven.grpc; import io.grpc.Context; diff --git a/grpc-java/grpc-servlet-jakarta/build.gradle b/grpc-java/grpc-servlet-jakarta/build.gradle index a8b32749eb6..e65ab770bad 100644 --- a/grpc-java/grpc-servlet-jakarta/build.gradle +++ b/grpc-java/grpc-servlet-jakarta/build.gradle @@ -10,4 +10,10 @@ dependencies { 'org.apache.tomcat:annotations-api:6.0.53' Classpaths.inheritGuava(project) -} \ No newline at end of file +} + +spotless { + java { + targetExclude '**/*' + } +} diff --git a/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/DelegatingAsyncContext.java b/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/DelegatingAsyncContext.java index a51577f99a8..78e5d7f9833 100644 --- a/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/DelegatingAsyncContext.java +++ b/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/DelegatingAsyncContext.java @@ -1,3 +1,16 @@ +/* + * Copyright 2019 The gRPC Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.jakarta.web; import jakarta.servlet.AsyncContext; diff --git a/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebFilter.java b/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebFilter.java index bfd14bf9b5a..b4ec367f88b 100644 --- a/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebFilter.java +++ b/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebFilter.java @@ -1,3 +1,16 @@ +/* + * Copyright 2019 The gRPC Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.jakarta.web; import io.grpc.internal.GrpcUtil; diff --git a/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebOutputStream.java b/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebOutputStream.java index 1500a69282e..8ea70c19022 100644 --- a/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebOutputStream.java +++ b/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebOutputStream.java @@ -1,3 +1,16 @@ +/* + * Copyright 2019 The gRPC Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.jakarta.web; import jakarta.servlet.ServletOutputStream; diff --git a/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebServletRequest.java b/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebServletRequest.java index ddcb2cb4e86..82dfde664ab 100644 --- a/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebServletRequest.java +++ b/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebServletRequest.java @@ -1,3 +1,16 @@ +/* + * Copyright 2019 The gRPC Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.jakarta.web; import io.grpc.internal.GrpcUtil; diff --git a/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebServletResponse.java b/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebServletResponse.java index f061c3deefd..2306e3e20f5 100644 --- a/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebServletResponse.java +++ b/grpc-java/grpc-servlet-jakarta/src/main/java/io/grpc/servlet/jakarta/web/GrpcWebServletResponse.java @@ -1,3 +1,16 @@ +/* + * Copyright 2019 The gRPC Authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.jakarta.web; import io.grpc.internal.GrpcUtil; diff --git a/grpc-java/grpc-servlet-websocket-jakarta/build.gradle b/grpc-java/grpc-servlet-websocket-jakarta/build.gradle index 2c61b1e0b31..bbe698ce8bd 100644 --- a/grpc-java/grpc-servlet-websocket-jakarta/build.gradle +++ b/grpc-java/grpc-servlet-websocket-jakarta/build.gradle @@ -13,5 +13,10 @@ dependencies { implementation 'jakarta.websocket:jakarta.websocket-api:2.0.0' Classpaths.inheritGuava(project) +} -} \ No newline at end of file +spotless { + java { + targetExclude '**/*' + } +} diff --git a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/AbstractWebSocketServerStream.java b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/AbstractWebSocketServerStream.java index f2b0597233f..5c632583e88 100644 --- a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/AbstractWebSocketServerStream.java +++ b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/AbstractWebSocketServerStream.java @@ -1,3 +1,16 @@ +/* + * Copyright 2022 Deephaven Data Labs + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.web.websocket; import com.google.common.io.BaseEncoding; diff --git a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/AbstractWebsocketStreamImpl.java b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/AbstractWebsocketStreamImpl.java index 790bd5e3018..7d8fda13588 100644 --- a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/AbstractWebsocketStreamImpl.java +++ b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/AbstractWebsocketStreamImpl.java @@ -1,3 +1,16 @@ +/* + * Copyright 2022 Deephaven Data Labs + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.web.websocket; import com.google.common.util.concurrent.MoreExecutors; diff --git a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/ByteArrayWritableBuffer.java b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/ByteArrayWritableBuffer.java index 0cbd851f8a9..ea8110062d1 100644 --- a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/ByteArrayWritableBuffer.java +++ b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/ByteArrayWritableBuffer.java @@ -1,3 +1,16 @@ +/* + * Copyright 2022 Deephaven Data Labs + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.web.websocket; import io.grpc.internal.WritableBuffer; diff --git a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/GrpcWebsocket.java b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/GrpcWebsocket.java index 4840646d86d..f1b9132ebd7 100644 --- a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/GrpcWebsocket.java +++ b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/GrpcWebsocket.java @@ -1,3 +1,16 @@ +/* + * Copyright 2022 Deephaven Data Labs + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.web.websocket; import jakarta.websocket.CloseReason; diff --git a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/MultiplexedWebSocketServerStream.java b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/MultiplexedWebSocketServerStream.java index c160c5c049e..b3d9f163b38 100644 --- a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/MultiplexedWebSocketServerStream.java +++ b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/MultiplexedWebSocketServerStream.java @@ -1,6 +1,16 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending +/* + * Copyright 2022 Deephaven Data Labs + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. */ + package io.grpc.servlet.web.websocket; import io.grpc.Attributes; diff --git a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/MultiplexedWebsocketStreamImpl.java b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/MultiplexedWebsocketStreamImpl.java index e8d97f20b5e..e2aa3b59901 100644 --- a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/MultiplexedWebsocketStreamImpl.java +++ b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/MultiplexedWebsocketStreamImpl.java @@ -1,6 +1,16 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending +/* + * Copyright 2022 Deephaven Data Labs + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. */ + package io.grpc.servlet.web.websocket; import io.grpc.Attributes; diff --git a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/WebSocketServerStream.java b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/WebSocketServerStream.java index e1333be8c63..04f9fd7007f 100644 --- a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/WebSocketServerStream.java +++ b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/WebSocketServerStream.java @@ -1,3 +1,16 @@ +/* + * Copyright 2022 Deephaven Data Labs + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.web.websocket; import io.grpc.Attributes; diff --git a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/WebsocketStreamImpl.java b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/WebsocketStreamImpl.java index 31dfd4497e1..259e230c171 100644 --- a/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/WebsocketStreamImpl.java +++ b/grpc-java/grpc-servlet-websocket-jakarta/src/main/java/io/grpc/servlet/web/websocket/WebsocketStreamImpl.java @@ -1,3 +1,16 @@ +/* + * Copyright 2022 Deephaven Data Labs + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on + * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the + * specific language governing permissions and limitations under the License. + */ + package io.grpc.servlet.web.websocket; import io.grpc.Attributes; diff --git a/license-header b/license-header deleted file mode 100644 index ca4e9b7036f..00000000000 --- a/license-header +++ /dev/null @@ -1 +0,0 @@ -Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending diff --git a/py/client/tests/__init__.py b/py/client/tests/__init__.py index 2519e05c6e2..d58bb460f30 100644 --- a/py/client/tests/__init__.py +++ b/py/client/tests/__init__.py @@ -1,3 +1,5 @@ # # Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending # + +# \ No newline at end of file diff --git a/py/server/deephaven/server/__init__.py b/py/server/deephaven/server/__init__.py index cb8603f5850..44416871bef 100644 --- a/py/server/deephaven/server/__init__.py +++ b/py/server/deephaven/server/__init__.py @@ -1,3 +1,5 @@ # # Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending # + +# \ No newline at end of file diff --git a/py/server/deephaven_internal/__init__.py b/py/server/deephaven_internal/__init__.py index e69de29bb2d..daee65bf8f1 100644 --- a/py/server/deephaven_internal/__init__.py +++ b/py/server/deephaven_internal/__init__.py @@ -0,0 +1,5 @@ +# +# Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +# + +# \ No newline at end of file diff --git a/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSourceTests.java b/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSourceTests.java index e90ec4f80b5..acdd4d63a12 100644 --- a/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSourceTests.java +++ b/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSourceTests.java @@ -1,3 +1,6 @@ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import com.squareup.javapoet.AnnotationSpec; @@ -234,17 +237,18 @@ public static void generateTests( String path = "extensions/arrow/src/test/java/io/deephaven/extensions/arrow/" + className + ".java"; try { - final String header = Stream.of( - "/*", - " * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending", - " */", - "/*", - " * ---------------------------------------------------------------------------------------------------------------------", - " * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit " - + MethodHandles.lookup().lookupClass().getSimpleName() + " and regenerate", - " * ---------------------------------------------------------------------------------------------------------------------", - " */", - "").collect(Collectors.joining(System.lineSeparator())); + String gradleTask = "generateArrowColumnTestSources"; + Class generatorClass = GenerateArrowColumnSourceTests.class; + final String header = String.join("\n", + "//", + "// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending", + "//", + "// ****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY", + "// ****** Run " + generatorClass.getSimpleName() + " or \"./gradlew " + gradleTask + + "\" to regenerate", + "//", + "// @formatter:off", + ""); Files.write(Paths.get(path), (header + javaFile).getBytes(StandardCharsets.UTF_8)); } catch (IOException e) { diff --git a/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSources.java b/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSources.java index 4804670da53..ffd31c6a7d6 100644 --- a/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSources.java +++ b/replication/reflective/src/main/java/io/deephaven/replicators/GenerateArrowColumnSources.java @@ -1,3 +1,6 @@ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import com.squareup.javapoet.AnnotationSpec; @@ -308,17 +311,18 @@ private static void generateArrowColumnSource( String path = "extensions/arrow/src/main/java/io/deephaven/extensions/arrow/sources/" + className + ".java"; try { - final String header = Stream.of( - "/*", - " * Copyright (c) 2016-2023 Deephaven Data Labs and Patent Pending", - " */", - "/*", - " * ---------------------------------------------------------------------------------------------------------------------", - " * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit " - + MethodHandles.lookup().lookupClass().getSimpleName() + " and regenerate", - " * ---------------------------------------------------------------------------------------------------------------------", - " */", - "").collect(Collectors.joining(System.lineSeparator())); + String gradleTask = "generateArrowColumnSources"; + Class generatorClass = GenerateArrowColumnSources.class; + final String header = String.join("\n", + "//", + "// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending", + "//", + "// ****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY", + "// ****** Run " + generatorClass.getSimpleName() + " or \"./gradlew " + gradleTask + + "\" to regenerate", + "//", + "// @formatter:off", + ""); Files.write(Paths.get(path), (header + javaFile).getBytes(StandardCharsets.UTF_8)); } catch (IOException e) { diff --git a/replication/reflective/src/main/java/io/deephaven/replicators/ReplicateHashTable.java b/replication/reflective/src/main/java/io/deephaven/replicators/ReplicateHashTable.java index f4a9a163903..a7054cb93bd 100644 --- a/replication/reflective/src/main/java/io/deephaven/replicators/ReplicateHashTable.java +++ b/replication/reflective/src/main/java/io/deephaven/replicators/ReplicateHashTable.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import gnu.trove.stack.TIntStack; @@ -11,6 +11,7 @@ import io.deephaven.engine.table.impl.HashTableAnnotations.EmptyStateValue; import io.deephaven.engine.table.impl.HashTableAnnotations.OverflowStateColumnSource; import io.deephaven.engine.table.impl.HashTableAnnotations.StateColumnSource; +import io.deephaven.replication.ReplicationUtils; import org.apache.commons.io.FileUtils; import org.jetbrains.annotations.NotNull; @@ -27,6 +28,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; +import java.util.stream.Stream; import static io.deephaven.replication.ReplicatePrimitiveCode.fullClassName; @@ -71,23 +73,26 @@ */ public class ReplicateHashTable { + public static final String SOURCE = + "engine/table/src/main/java/io/deephaven/engine/table/impl/LeftOnlyIncrementalChunkedCrossJoinStateManager.java"; + public static void main(String[] args) throws IOException, ClassNotFoundException { final boolean allowMissingDestinations = false; // Left-Only-Incremental Cross Join-> Symbol Table Combiner doReplicate( - "engine/table/src/main/java/io/deephaven/engine/table/impl/LeftOnlyIncrementalChunkedCrossJoinStateManager.java", + SOURCE, "engine/table/src/main/java/io/deephaven/engine/table/impl/SymbolTableCombiner.java", allowMissingDestinations, Arrays.asList("overflowLocationToHashLocation", "getStateValue", "prev")); // Left-Only-Incremental Cross Join -> Right-Incremental Cross Join doReplicate( - "engine/table/src/main/java/io/deephaven/engine/table/impl/LeftOnlyIncrementalChunkedCrossJoinStateManager.java", + SOURCE, "engine/table/src/main/java/io/deephaven/engine/table/impl/RightIncrementalChunkedCrossJoinStateManager.java", allowMissingDestinations, Arrays.asList("allowUpdateWriteThroughState")); // Left-Only-Incremental Cross Join -> Static Cross Join doReplicate( - "engine/table/src/main/java/io/deephaven/engine/table/impl/LeftOnlyIncrementalChunkedCrossJoinStateManager.java", + SOURCE, "engine/table/src/main/java/io/deephaven/engine/table/impl/StaticChunkedCrossJoinStateManager.java", allowMissingDestinations, Arrays.asList("prev")); } @@ -255,6 +260,22 @@ private static void doReplicate(final String sourceClassJavaFile, throw new RuntimeException("Could not find package line to rewrite for " + destinationClass); } + // Remove any file header from rewrittenLines and replace with the generated header + // Skip, re-add file header + Iterator iterator = rewrittenLines.iterator(); + while (iterator.hasNext() && iterator.next().startsWith("//")) { + iterator.remove(); + } + rewrittenLines.addAll(0, Arrays.asList("//", + "// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending", + "//", + "// ****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY", + "// ****** Edit " + ReplicationUtils.className(sourceClassJavaFile) + + " and run \"./gradlew replicateHashTable\" to regenerate", + "//", + "// @formatter:off", + "")); + FileUtils.writeLines(destinationFile, rewrittenLines); System.out.println("Wrote: " + destinationClassJavaFile); } diff --git a/replication/reflective/src/main/java/io/deephaven/replicators/ReplicateTypedHashers.java b/replication/reflective/src/main/java/io/deephaven/replicators/ReplicateTypedHashers.java index 0498383e936..dbffd8f3a81 100644 --- a/replication/reflective/src/main/java/io/deephaven/replicators/ReplicateTypedHashers.java +++ b/replication/reflective/src/main/java/io/deephaven/replicators/ReplicateTypedHashers.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import com.squareup.javapoet.ClassName; @@ -90,9 +90,15 @@ private static void generatePackage(Class baseClass, boolean doDouble) throws } final JavaFile.Builder fileBuilder = JavaFile.builder(packageName, dispatchBuilder.build()).indent(" "); - fileBuilder.addFileComment("DO NOT EDIT THIS CLASS, AUTOMATICALLY GENERATED BY " - + ReplicateTypedHashers.class.getCanonicalName() + "\n" + - "Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending\n"); + fileBuilder.addFileComment("\n"); + fileBuilder.addFileComment("Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending\n"); + fileBuilder.addFileComment("\n"); + fileBuilder.addFileComment("****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY\n"); + fileBuilder.addFileComment("****** Run " + ReplicateTypedHashers.class.getSimpleName() + + " or ./gradlew replicateTypedHashers to regenerate\n"); + fileBuilder.addFileComment("\n"); + fileBuilder.addFileComment("@formatter:off"); + final JavaFile dispatcherFile = fileBuilder.build(); dispatcherFile.writeTo(sourceRoot); } diff --git a/replication/static/build.gradle b/replication/static/build.gradle index 60f22f528de..161f7017104 100644 --- a/replication/static/build.gradle +++ b/replication/static/build.gradle @@ -87,9 +87,13 @@ task replicateAllSafe { dependsOn Tasks.registerMainExecTask(project, 'replicateParquetTransferObjects', 'io.deephaven.replicators.ReplicateParquetTransferObjects') dependsOn Tasks.registerMainExecTask(project, 'replicateColumnStats', 'io.deephaven.replicators.ReplicateColumnStats') + + dependsOn Tasks.registerMainExecTask(project, 'replicateCachingSupplier', 'io.deephaven.replicators.ReplicateCachingSupplier') } // These replicators need manual fix-up post replication and should not be run without supervision task replicateAllUnsafe { dependsOn Tasks.registerMainExecTask(project, 'replicateParquetChunkedWriters', 'io.deephaven.replicators.ReplicateParquetChunkedWriters') + + dependsOn Tasks.registerMainExecTask(project, 'replicateTableLocationKey', 'io.deephaven.replicators.ReplicateTableLocationKey') } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateBarrageUtils.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateBarrageUtils.java index 5d9fbf78160..cf0baf87e1b 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateBarrageUtils.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateBarrageUtils.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -19,10 +19,13 @@ public class ReplicateBarrageUtils { "extensions/barrage/src/main/java/io/deephaven/extensions/barrage/chunk"; public static void main(final String[] args) throws IOException { - ReplicatePrimitiveCode.charToAllButBoolean(CHUNK_PACKAGE + "/CharChunkInputStreamGenerator.java"); - ReplicatePrimitiveCode.charToAllButBoolean(CHUNK_PACKAGE + "/array/CharArrayExpansionKernel.java"); + ReplicatePrimitiveCode.charToAllButBoolean("replicateBarrageUtils", + CHUNK_PACKAGE + "/CharChunkInputStreamGenerator.java"); + ReplicatePrimitiveCode.charToAllButBoolean("replicateBarrageUtils", + CHUNK_PACKAGE + "/array/CharArrayExpansionKernel.java"); - ReplicatePrimitiveCode.charToAllButBoolean(CHUNK_PACKAGE + "/vector/CharVectorExpansionKernel.java"); + ReplicatePrimitiveCode.charToAllButBoolean("replicateBarrageUtils", + CHUNK_PACKAGE + "/vector/CharVectorExpansionKernel.java"); fixupVectorExpansionKernel(CHUNK_PACKAGE + "/vector/IntVectorExpansionKernel.java", "Int"); fixupVectorExpansionKernel(CHUNK_PACKAGE + "/vector/LongVectorExpansionKernel.java", "Long"); fixupVectorExpansionKernel(CHUNK_PACKAGE + "/vector/DoubleVectorExpansionKernel.java", "Double"); diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateCachingSupplier.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateCachingSupplier.java index aeeae50e6d4..ae28bf10bc5 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateCachingSupplier.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateCachingSupplier.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import java.io.IOException; @@ -8,7 +8,7 @@ import static io.deephaven.replication.ReplicatePrimitiveCode.replaceAll; public class ReplicateCachingSupplier { - private static final String LAZY_CACHING_SUPPLIER_DIR = "util/src/main/java/io/deephaven/util/datastructures/"; + private static final String LAZY_CACHING_SUPPLIER_DIR = "Util/src/main/java/io/deephaven/util/datastructures/"; private static final String LAZY_CACHING_SUPPLIER_PATH = LAZY_CACHING_SUPPLIER_DIR + "LazyCachingSupplier.java"; private static final String LAZY_CACHING_FUNCTION_PATH = LAZY_CACHING_SUPPLIER_DIR + "LazyCachingFunction.java"; @@ -22,6 +22,7 @@ public static void main(final String[] args) throws IOException { {"Supplier", "Function"}, {"supplier", "function"}, }; - replaceAll(LAZY_CACHING_SUPPLIER_PATH, LAZY_CACHING_FUNCTION_PATH, null, NO_EXCEPTIONS, pairs); + replaceAll("replicateCachingSupplier", LAZY_CACHING_SUPPLIER_PATH, LAZY_CACHING_FUNCTION_PATH, null, + NO_EXCEPTIONS, pairs); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateChunkFilters.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateChunkFilters.java index e99f956e7c5..4c1c72974cd 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateChunkFilters.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateChunkFilters.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import java.io.IOException; @@ -9,23 +9,27 @@ import static io.deephaven.replication.ReplicatePrimitiveCode.*; public class ReplicateChunkFilters { + private static final String TASK = "replicateChunkFilters"; + public static void main(String[] args) throws IOException { - charToShortAndByte( + charToShortAndByte(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/chunkfilter/CharRangeComparator.java"); - charToInteger("engine/table/src/main/java/io/deephaven/engine/table/impl/chunkfilter/CharRangeComparator.java", + charToInteger(TASK, + "engine/table/src/main/java/io/deephaven/engine/table/impl/chunkfilter/CharRangeComparator.java", Collections.emptyMap()); - charToShortAndByte("engine/table/src/main/java/io/deephaven/engine/table/impl/select/CharRangeFilter.java"); - charToInteger("engine/table/src/main/java/io/deephaven/engine/table/impl/select/CharRangeFilter.java", + charToShortAndByte(TASK, + "engine/table/src/main/java/io/deephaven/engine/table/impl/select/CharRangeFilter.java"); + charToInteger(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/select/CharRangeFilter.java", Collections.emptyMap()); - charToLong("engine/table/src/main/java/io/deephaven/engine/table/impl/select/CharRangeFilter.java"); + charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/select/CharRangeFilter.java"); - floatToAllFloatingPoints( + floatToAllFloatingPoints(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/chunkfilter/FloatRangeComparator.java"); - floatToAllFloatingPoints( + floatToAllFloatingPoints(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/select/FloatRangeFilter.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/chunkfilter/CharChunkMatchFilterFactory.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnIterators.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnIterators.java index e13853d9620..622b347a188 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnIterators.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnIterators.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicationUtils; @@ -28,22 +28,23 @@ public class ReplicateColumnIterators { "engine/api/src/main/java/io/deephaven/engine/table/iterators/ChunkedCharacterColumnIterator.java"; private static final String CHAR_SERIAL_PATH = "engine/api/src/main/java/io/deephaven/engine/table/iterators/SerialCharacterColumnIterator.java"; + public static final String TASK = "replicateColumnIterators"; public static void main(String... args) throws IOException { { - charToByte(CHAR_IFACE_PATH, Collections.emptyMap()); - charToShort(CHAR_IFACE_PATH, Collections.emptyMap()); - fixupIntToDouble(charToFloat(CHAR_IFACE_PATH, Collections.emptyMap())); + charToByte(TASK, CHAR_IFACE_PATH, Collections.emptyMap()); + charToShort(TASK, CHAR_IFACE_PATH, Collections.emptyMap()); + fixupIntToDouble(charToFloat(TASK, CHAR_IFACE_PATH, Collections.emptyMap())); } { - fixupChunkSize(intToLong(INT_IFACE_PATH, Collections.emptyMap(), "interface"), "long"); - fixupChunkSize(intToDouble(INT_IFACE_PATH, Collections.emptyMap(), "interface"), "double"); + fixupChunkSize(intToLong(TASK, INT_IFACE_PATH, Collections.emptyMap(), "interface"), "long"); + fixupChunkSize(intToDouble(TASK, INT_IFACE_PATH, Collections.emptyMap(), "interface"), "double"); } { - fixupPrimitiveConsumer(charToAllButBoolean(CHAR_CHUNKED_PATH)); + fixupPrimitiveConsumer(charToAllButBoolean(TASK, CHAR_CHUNKED_PATH)); } { - charToAllButBoolean(CHAR_SERIAL_PATH); + charToAllButBoolean(TASK, CHAR_SERIAL_PATH); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnSourceFillBenchmark.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnSourceFillBenchmark.java index fed502a1140..09a8a41c37c 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnSourceFillBenchmark.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnSourceFillBenchmark.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -9,7 +9,7 @@ public class ReplicateColumnSourceFillBenchmark { public static void main(String[] args) throws IOException { - ReplicatePrimitiveCode.charToAllButBoolean( + ReplicatePrimitiveCode.charToAllButBoolean("replicateColumnSourceFillBenchmark", "engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/sources/CharHelper.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnStats.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnStats.java index 4b5613bdb42..ea9fbf69139 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnStats.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateColumnStats.java @@ -1,3 +1,6 @@ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -17,16 +20,16 @@ public class ReplicateColumnStats { public static void main(String[] args) throws IOException { - final List paths = shortToAllIntegralTypes( + final List paths = shortToAllIntegralTypes("replicateColumnStats", "server/src/main/java/io/deephaven/server/table/stats/ShortChunkedNumericalStats.java"); final String intPath = paths.stream().filter(p -> p.contains("Integer")).findFirst().orElseThrow(FileNotFoundException::new); fixupIntegerChunkName(intPath); - ReplicatePrimitiveCode.floatToAllFloatingPoints( + ReplicatePrimitiveCode.floatToAllFloatingPoints("replicateColumnStats", "server/src/main/java/io/deephaven/server/table/stats/FloatChunkedNumericalStats.java"); - final String objectPath = ReplicatePrimitiveCode.charToObject( + final String objectPath = ReplicatePrimitiveCode.charToObject("replicateColumnStats", "server/src/main/java/io/deephaven/server/table/stats/CharacterChunkedStats.java"); fixupObjectChunk(objectPath); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateCopyKernel.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateCopyKernel.java index ad2630255f8..314ffab7ad5 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateCopyKernel.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateCopyKernel.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -9,7 +9,7 @@ public class ReplicateCopyKernel { public static void main(String[] args) throws IOException { - ReplicatePrimitiveCode.charToAll( + ReplicatePrimitiveCode.charToAll("replicateCopyKernel", "engine/table/src/main/java/io/deephaven/engine/table/impl/util/copy/CharCopyKernel.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateCopyKernelTests.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateCopyKernelTests.java index a380e7f785b..1be868246c4 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateCopyKernelTests.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateCopyKernelTests.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import org.apache.commons.io.FileUtils; @@ -17,8 +17,9 @@ public class ReplicateCopyKernelTests { public static void main(String[] args) throws IOException { ReplicateCopyKernel.main(args); - charToAll("engine/table/src/test/java/io/deephaven/engine/table/impl/util/copy/TestCharCopyKernel.java"); - fixupObjectCopyKernelTest(charToObject( + charToAll("replicateCopyKernelTests", + "engine/table/src/test/java/io/deephaven/engine/table/impl/util/copy/TestCharCopyKernel.java"); + fixupObjectCopyKernelTest(charToObject("replicateCopyKernelTests", "engine/table/src/test/java/io/deephaven/engine/table/impl/util/copy/TestCharCopyKernel.java")); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateDownsamplingValueTrackers.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateDownsamplingValueTrackers.java index cc4775c918f..f215a231ce3 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateDownsamplingValueTrackers.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateDownsamplingValueTrackers.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -14,7 +14,7 @@ */ public class ReplicateDownsamplingValueTrackers extends ReplicatePrimitiveCode { public static void main(String[] args) throws IOException { - charToAllButBoolean( + charToAllButBoolean("replicateDownsamplingValueTrackers", "ClientSupport/src/main/java/io/deephaven/clientsupport/plotdownsampling/CharValueTracker.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateDupCompactKernel.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateDupCompactKernel.java index 16b3f037447..2d11844b6cc 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateDupCompactKernel.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateDupCompactKernel.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -13,19 +13,20 @@ import java.io.File; import java.io.IOException; import java.nio.charset.Charset; -import java.util.Arrays; import java.util.List; import java.util.stream.Collectors; +import java.util.stream.Stream; -import static io.deephaven.replication.ReplicatePrimitiveCode.className; +import static io.deephaven.replication.ReplicationUtils.className; import static io.deephaven.replication.ReplicationUtils.*; public class ReplicateDupCompactKernel { public static void main(String[] args) throws IOException { final String charJavaPath = "engine/table/src/main/java/io/deephaven/engine/table/impl/join/dupcompact/CharDupCompactKernel.java"; - final List kernelsToInvert = ReplicatePrimitiveCode.charToAllButBoolean(charJavaPath); - final String objectDupCompact = ReplicatePrimitiveCode.charToObject(charJavaPath); + final List kernelsToInvert = + ReplicatePrimitiveCode.charToAllButBoolean("replicateDupCompactKernel", charJavaPath); + final String objectDupCompact = ReplicatePrimitiveCode.charToObject("replicateDupCompactKernel", charJavaPath); fixupObjectDupCompact(objectDupCompact); kernelsToInvert.add(charJavaPath); @@ -87,11 +88,7 @@ private static String fixupCharNullComparisons(String path, String newPath, Stri } } - lines.addAll(insertionPoint, Arrays.asList( - "/* ---------------------------------------------------------------------------------------------------------------------", - " * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit " + oldName - + " and regenerate", - " * ------------------------------------------------------------------------------------------------------------------ */")); + lines.add(insertionPoint, ReplicationUtils.fileHeaderString("replicateDupCompactKernel", oldName)); FileUtils.writeLines(new File(newPath), lines); @@ -131,8 +128,14 @@ public static void nanFixup(String path, String type, boolean ascending) throws private static List ascendingNameToDescendingName(String path, List lines) { final String className = new File(path).getName().replaceAll(".java$", ""); final String newName = className.replace("DupCompactKernel", "ReverseDupCompactKernel"); - // we should skip the replicate header - return globalReplacements(3, lines, className, newName); + + // Skip, re-add file header + lines = Stream.concat( + ReplicationUtils.fileHeaderStream("replicateDupCompactKernel", ReplicationUtils.className(path)), + lines.stream().dropWhile(line -> line.startsWith("//")) + ).collect(Collectors.toList()); + + return globalReplacements(lines, className, newName); } private static void fixupObjectDupCompact(String objectPath) throws IOException { diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateDupExpandKernel.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateDupExpandKernel.java index 2354d42395b..e591c61d351 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateDupExpandKernel.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateDupExpandKernel.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -16,8 +16,8 @@ public class ReplicateDupExpandKernel { public static void main(String[] args) throws IOException { final String charClassPath = "engine/table/src/main/java/io/deephaven/engine/table/impl/join/dupexpand/CharDupExpandKernel.java"; - ReplicatePrimitiveCode.charToAll(charClassPath); - fixupObjectDupCompact(ReplicatePrimitiveCode.charToObject(charClassPath)); + ReplicatePrimitiveCode.charToAll("replicateDupExpandKernel", charClassPath); + fixupObjectDupCompact(ReplicatePrimitiveCode.charToObject("replicateDupExpandKernel", charClassPath)); } private static void fixupObjectDupCompact(String objectPath) throws IOException { diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateFreezeBy.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateFreezeBy.java index 1efd135cf58..aa4bdd62be6 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateFreezeBy.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateFreezeBy.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicationUtils; @@ -16,14 +16,14 @@ public class ReplicateFreezeBy { public static void main(String[] args) throws IOException { - charToAllButBoolean( + charToAllButBoolean("replicateFreezeBy", "engine/table/src/main/java/io/deephaven/engine/table/impl/util/freezeby/CharFreezeByHelper.java"); - final String objectResult = charToObject( + final String objectResult = charToObject("replicateFreezeBy", "engine/table/src/main/java/io/deephaven/engine/table/impl/util/freezeby/CharFreezeByHelper.java"); fixupObject(objectResult); - final String booleanResult = charToBoolean( + final String booleanResult = charToBoolean("replicateFreezeBy", "engine/table/src/main/java/io/deephaven/engine/table/impl/util/freezeby/CharFreezeByHelper.java"); fixupBoolean(booleanResult); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateHashing.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateHashing.java index 0d075a5d851..0d5e0a50835 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateHashing.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateHashing.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.base.verify.Assert; @@ -19,20 +19,22 @@ import static io.deephaven.replication.ReplicationUtils.*; public class ReplicateHashing { + private static final String TASK = "replicateHashing"; + public static void main(String[] args) throws IOException { - charToAll("engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharChunkHasher.java"); + charToAll(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharChunkHasher.java"); final String objectHasher = - charToObject("engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharChunkHasher.java"); + charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharChunkHasher.java"); fixupObjectChunkHasher(objectHasher); - charToIntegers("engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharToIntegerCast.java"); - charToIntegers("engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharToLongCast.java"); - charToIntegers( + charToIntegers(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharToIntegerCast.java"); + charToIntegers(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharToLongCast.java"); + charToIntegers(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharToIntegerCastWithOffset.java"); - charToIntegers( + charToIntegers(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharToLongCastWithOffset.java"); - final List paths = charToAll( + final List paths = charToAll(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharChunkEquals.java"); final String floatPath = paths.stream().filter(p -> p.contains("Float")).findFirst().orElseThrow(FileNotFoundException::new); @@ -43,16 +45,16 @@ public static void main(String[] args) throws IOException { fixupDoubleChunkEquals(doublePath); final String objectIdentityEquals = - charToObject("engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharChunkEquals.java"); + charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharChunkEquals.java"); fixupObjectChunkIdentityEquals(objectIdentityEquals); final String objectEquals = - charToObject("engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharChunkEquals.java"); + charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/hashing/CharChunkEquals.java"); fixupObjectChunkEquals(objectEquals); - final List compactKernels = charToAll( + final List compactKernels = charToAll(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/util/compact/CharCompactKernel.java"); - final String objectCompact = charToObject( + final String objectCompact = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/util/compact/CharCompactKernel.java"); fixupObjectCompact(objectCompact); // noinspection OptionalGetWithoutIsPresent @@ -66,7 +68,7 @@ private static void fixupObjectChunkHasher(String objectPath) throws IOException List lines = FileUtils.readLines(objectFile, Charset.defaultCharset()); lines = addImport(lines, Objects.class); FileUtils.writeLines(objectFile, globalReplacements(fixupChunkAttributes(lines), "Object.hashCode", - "Objects.hashCode", "TypeUtils.unbox\\(\\(Object\\)value\\)", "value")); + "Objects.hashCode", "TypeUtils.unbox\\(\\(Object\\) value\\)", "value")); } private static void fixupObjectChunkEquals(String objectPath) throws IOException { diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateKafka.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateKafka.java index 8d2e42df5d4..0fc68e87465 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateKafka.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateKafka.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -9,9 +9,9 @@ public class ReplicateKafka { public static void main(String[] args) throws IOException { - ReplicatePrimitiveCode.charToAllButBoolean( + ReplicatePrimitiveCode.charToAllButBoolean("replicateKafka", "extensions/kafka/src/main/java/io/deephaven/kafka/ingest/GenericRecordCharFieldCopier.java"); - ReplicatePrimitiveCode.charToAllButBoolean( + ReplicatePrimitiveCode.charToAllButBoolean("replicateKafka", "extensions/kafka/src/main/java/io/deephaven/kafka/ingest/JsonNodeCharFieldCopier.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateOperators.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateOperators.java index 9bdaa20dbdc..ba7b7fe7b87 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateOperators.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateOperators.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicationUtils; @@ -16,43 +16,47 @@ import static io.deephaven.replication.ReplicatePrimitiveCode.*; public class ReplicateOperators { + private static final String TASK = "replicateOperators"; + public static void main(String[] args) throws IOException { - charToAllButBooleanAndFloats("engine/table/src/main/java/io/deephaven/engine/table/impl/by/SumCharChunk.java"); - charToAllButBooleanAndFloats( + charToAllButBooleanAndFloats(TASK, + "engine/table/src/main/java/io/deephaven/engine/table/impl/by/SumCharChunk.java"); + charToAllButBooleanAndFloats(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/CharChunkedSumOperator.java"); - charToAllButBooleanAndFloats( + charToAllButBooleanAndFloats(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/CharChunkedAvgOperator.java"); - charToAllButBooleanAndFloats( + charToAllButBooleanAndFloats(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/CharChunkedVarOperator.java"); - floatToAllFloatingPoints("engine/table/src/main/java/io/deephaven/engine/table/impl/by/SumFloatChunk.java"); - floatToAllFloatingPoints( + floatToAllFloatingPoints(TASK, + "engine/table/src/main/java/io/deephaven/engine/table/impl/by/SumFloatChunk.java"); + floatToAllFloatingPoints(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/FloatChunkedSumOperator.java"); - floatToAllFloatingPoints( + floatToAllFloatingPoints(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/FloatChunkedAvgOperator.java"); - floatToAllFloatingPoints( + floatToAllFloatingPoints(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/FloatChunkedReAvgOperator.java"); - floatToAllFloatingPoints( + floatToAllFloatingPoints(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/FloatChunkedVarOperator.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/CharChunkedAddOnlyMinMaxOperator.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/util/cast/CharToDoubleCast.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/util/cast/CharToBigDecimalCast.java"); replicateObjectAddOnlyMinMax(); fixupLongAddOnlyMinMax(); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/CharAddOnlySortedFirstOrLastChunkedOperator.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/CharBlinkSortedFirstOrLastChunkedOperator.java"); replicateObjectAddOnlyAndBlinkSortedFirstLast(); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/alternatingcolumnsource/CharAlternatingColumnSourceUnorderedMergeKernel.java"); replicateObjectUnorderedMergeKernel(); } private static void replicateObjectAddOnlyMinMax() throws IOException { - final String objectAddOnlyMinMax = charToObject( + final String objectAddOnlyMinMax = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/CharChunkedAddOnlyMinMaxOperator.java"); final File objectAddOnlyMinMaxFile = new File(objectAddOnlyMinMax); List lines = ReplicationUtils @@ -100,7 +104,7 @@ private static void replicateObjectAddOnlyAndBlinkSortedFirstLast() throws IOExc "engine/table/src/main/java/io/deephaven/engine/table/impl/by/CharAddOnlySortedFirstOrLastChunkedOperator.java", "engine/table/src/main/java/io/deephaven/engine/table/impl/by/CharBlinkSortedFirstOrLastChunkedOperator.java"}) { final String objectClassName = - charToObject(charClassJavaPath); + charToObject(TASK, charClassJavaPath); final File objectClassFile = new File(objectClassName); List lines = ReplicationUtils .fixupChunkAttributes(FileUtils.readLines(objectClassFile, Charset.defaultCharset())); @@ -111,7 +115,7 @@ private static void replicateObjectAddOnlyAndBlinkSortedFirstLast() throws IOExc } private static void replicateObjectUnorderedMergeKernel() throws IOException { - final String objectUnorderedMerge = charToObject( + final String objectUnorderedMerge = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/alternatingcolumnsource/CharAlternatingColumnSourceUnorderedMergeKernel.java"); final File objectUnorderedMergeFile = new File(objectUnorderedMerge); List lines = ReplicationUtils diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateParquetChunkedWriters.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateParquetChunkedWriters.java index b355f3a0a1e..88fa0e1a8ee 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateParquetChunkedWriters.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateParquetChunkedWriters.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -19,6 +19,7 @@ public class ReplicateParquetChunkedWriters { public static void main(String[] args) throws IOException { ReplicatePrimitiveCode.intToLongAndFloatingPoints( + "replicateParquetChunkedWriters", "extensions/parquet/base/src/main/java/io/deephaven/parquet/base/PlainIntChunkedWriter.java", "int pageSize", "IntBuffer.allocate\\(4\\)", diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateParquetTransferObjects.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateParquetTransferObjects.java index 407a42778ee..efc182ad546 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateParquetTransferObjects.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateParquetTransferObjects.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import java.io.IOException; @@ -8,6 +8,8 @@ import static io.deephaven.replication.ReplicatePrimitiveCode.*; public class ReplicateParquetTransferObjects { + private static final String TASK = "replicateParquetTransferObjects"; + private static final String PARQUET_TRANSFER_DIR = "extensions/parquet/table/src/main/java/io/deephaven/parquet/table/transfer/"; private static final String PARQUET_CHAR_TRANSFER_PATH = PARQUET_TRANSFER_DIR + "CharTransfer.java"; @@ -40,15 +42,16 @@ public class ReplicateParquetTransferObjects { private static final String[] NO_EXCEPTIONS = new String[0]; public static void main(String[] args) throws IOException { - charToShortAndByte(PARQUET_CHAR_TRANSFER_PATH); - charToShortAndByte(PARQUET_CHAR_ARRAY_TRANSFER_PATH); - charToShortAndByte(PARQUET_CHAR_VECTOR_TRANSFER_PATH); + charToShortAndByte(TASK, PARQUET_CHAR_TRANSFER_PATH); + charToShortAndByte(TASK, PARQUET_CHAR_ARRAY_TRANSFER_PATH); + charToShortAndByte(TASK, PARQUET_CHAR_VECTOR_TRANSFER_PATH); - intToLongAndFloatingPoints(PARQUET_INT_TRANSFER_PATH, "int targetPageSizeInBytes", "int targetElementsPerPage", + intToLongAndFloatingPoints(TASK, PARQUET_INT_TRANSFER_PATH, "int targetPageSizeInBytes", + "int targetElementsPerPage", "Math.toIntExact"); - intToLongAndFloatingPoints(PARQUET_INT_ARRAY_TRANSFER_PATH, "int targetPageSizeInBytes", "int length", + intToLongAndFloatingPoints(TASK, PARQUET_INT_ARRAY_TRANSFER_PATH, "int targetPageSizeInBytes", "int length", "int getSize"); - intToLongAndFloatingPoints(PARQUET_INT_VECTOR_TRANSFER_PATH, "int targetPageSizeInBytes", "int length"); + intToLongAndFloatingPoints(TASK, PARQUET_INT_VECTOR_TRANSFER_PATH, "int targetPageSizeInBytes", "int length"); String[][] pairs = new String[][] { {"InstantArrayTransfer", "DateArrayTransfer"}, @@ -59,8 +62,10 @@ public static void main(String[] args) throws IOException { {"Long", "Integer"}, {"long", "int"}, }; - replaceAll(PARQUET_INSTANT_ARRAY_TRANSFER_PATH, PARQUET_DATE_ARRAY_TRANSFER_PATH, null, NO_EXCEPTIONS, pairs); - replaceAll(PARQUET_INSTANT_VECTOR_TRANSFER_PATH, PARQUET_DATE_VECTOR_TRANSFER_PATH, null, NO_EXCEPTIONS, pairs); + replaceAll(TASK, PARQUET_INSTANT_ARRAY_TRANSFER_PATH, PARQUET_DATE_ARRAY_TRANSFER_PATH, null, NO_EXCEPTIONS, + pairs); + replaceAll(TASK, PARQUET_INSTANT_VECTOR_TRANSFER_PATH, PARQUET_DATE_VECTOR_TRANSFER_PATH, null, NO_EXCEPTIONS, + pairs); pairs = new String[][] { {"InstantArrayTransfer", "TimeArrayTransfer"}, @@ -68,8 +73,10 @@ public static void main(String[] args) throws IOException { {"DateTimeUtils.epochNanos", "DateTimeUtils.nanosOfDay"}, {"Instant", "LocalTime"} }; - replaceAll(PARQUET_INSTANT_ARRAY_TRANSFER_PATH, PARQUET_TIME_ARRAY_TRANSFER_PATH, null, NO_EXCEPTIONS, pairs); - replaceAll(PARQUET_INSTANT_VECTOR_TRANSFER_PATH, PARQUET_TIME_VECTOR_TRANSFER_PATH, null, NO_EXCEPTIONS, pairs); + replaceAll(TASK, PARQUET_INSTANT_ARRAY_TRANSFER_PATH, PARQUET_TIME_ARRAY_TRANSFER_PATH, null, NO_EXCEPTIONS, + pairs); + replaceAll(TASK, PARQUET_INSTANT_VECTOR_TRANSFER_PATH, PARQUET_TIME_VECTOR_TRANSFER_PATH, null, NO_EXCEPTIONS, + pairs); pairs = new String[][] { {"io.deephaven.time.DateTimeUtils", "io.deephaven.parquet.table.util.TransferUtils"}, @@ -78,9 +85,9 @@ public static void main(String[] args) throws IOException { {"DateTimeUtils.epochNanos", "TransferUtils.epochNanosUTC"}, {"Instant", "LocalDateTime"} }; - replaceAll(PARQUET_INSTANT_ARRAY_TRANSFER_PATH, PARQUET_LOCAL_DATE_TIME_ARRAY_TRANSFER_PATH, null, + replaceAll(TASK, PARQUET_INSTANT_ARRAY_TRANSFER_PATH, PARQUET_LOCAL_DATE_TIME_ARRAY_TRANSFER_PATH, null, NO_EXCEPTIONS, pairs); - replaceAll(PARQUET_INSTANT_VECTOR_TRANSFER_PATH, PARQUET_LOCAL_DATE_TIME_VECTOR_TRANSFER_PATH, null, + replaceAll(TASK, PARQUET_INSTANT_VECTOR_TRANSFER_PATH, PARQUET_LOCAL_DATE_TIME_VECTOR_TRANSFER_PATH, null, NO_EXCEPTIONS, pairs); pairs = new String[][] { @@ -89,7 +96,7 @@ public static void main(String[] args) throws IOException { {"LocalTime", "LocalDateTime"}, {"DateTimeUtils.nanosOfDay", "TransferUtils.epochNanosUTC"} }; - replaceAll(PARQUET_TIME_TRANSFER_PATH, PARQUET_LOCAL_DATE_TIME_TRANSFER_PATH, null, NO_EXCEPTIONS, pairs); + replaceAll(TASK, PARQUET_TIME_TRANSFER_PATH, PARQUET_LOCAL_DATE_TIME_TRANSFER_PATH, null, NO_EXCEPTIONS, pairs); // Additional differences can be generated by Spotless } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicatePrimitiveInterfaces.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicatePrimitiveInterfaces.java index 40adc88169b..a4735f6ff34 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicatePrimitiveInterfaces.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicatePrimitiveInterfaces.java @@ -1,20 +1,15 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; -import org.apache.commons.io.FileUtils; -import org.jetbrains.annotations.NotNull; - import java.io.File; import java.io.IOException; -import java.nio.charset.Charset; -import java.util.List; -import java.util.stream.IntStream; import static io.deephaven.replication.ReplicatePrimitiveCode.*; public class ReplicatePrimitiveInterfaces { + private static final String TASK = "replicatePrimitiveInterfaces"; private static final String CHAR_CONSUMER_PATH = "engine/primitive/src/main/java/io/deephaven/engine/primitive/function/CharConsumer.java"; @@ -30,54 +25,45 @@ public class ReplicatePrimitiveInterfaces { public static void main(String[] args) throws IOException { { - charToShortAndByte(CHAR_CONSUMER_PATH); - charToFloat(CHAR_CONSUMER_PATH, null); + charToShortAndByte(TASK, CHAR_CONSUMER_PATH); + charToFloat(TASK, CHAR_CONSUMER_PATH, null); } { - charToShortAndByte(CHAR_TO_INT_PATH); - final String floatToIntPath = charToFloat(CHAR_TO_INT_PATH, null); - removeExtraCopyrightHeader(intToDouble(floatToIntPath, null, + charToShortAndByte(TASK, CHAR_TO_INT_PATH); + final String floatToIntPath = charToFloat(TASK, CHAR_TO_INT_PATH, null); + intToDouble(TASK, floatToIntPath, null, "interface", "FunctionalInterface", CHAR_TO_INT_PATH.substring( CHAR_TO_INT_PATH.lastIndexOf('/') + 1, - CHAR_TO_INT_PATH.lastIndexOf(".java")))); + CHAR_TO_INT_PATH.lastIndexOf(".java"))); if (!new File(floatToIntPath).delete()) { throw new IOException("Failed to delete extraneous " + floatToIntPath); } } { - charToShortAndByte(CHAR_ITERATOR_PATH); - final String floatPath = charToFloat(CHAR_ITERATOR_PATH, null); - removeExtraCopyrightHeader(intToDouble(floatPath, null, + charToShortAndByte(TASK, CHAR_ITERATOR_PATH); + final String floatPath = charToFloat(TASK, CHAR_ITERATOR_PATH, null); + intToDouble(TASK, floatPath, null, "interface", "FunctionalInterface", "int valueIndex", "int subIteratorIndex", CHAR_ITERATOR_PATH.substring( CHAR_ITERATOR_PATH.lastIndexOf('/') + 1, - CHAR_ITERATOR_PATH.lastIndexOf(".java")))); + CHAR_ITERATOR_PATH.lastIndexOf(".java"))); } { - intToLong(INT_ITERATOR_PATH, null, + intToLong(TASK, INT_ITERATOR_PATH, null, "interface", "FunctionalInterface", "int valueIndex", "int subIteratorIndex"); - intToDouble(INT_ITERATOR_PATH, null, + intToDouble(TASK, INT_ITERATOR_PATH, null, "interface", "FunctionalInterface", "int valueIndex", "int subIteratorIndex"); } } - - @SuppressWarnings("UnusedReturnValue") - private static String removeExtraCopyrightHeader(@NotNull final String path) throws IOException { - final File file = new File(path); - final List lines = FileUtils.readLines(file, Charset.defaultCharset()); - IntStream.of(5, 5, 5, 5, 5).forEach(lines::remove); - FileUtils.writeLines(file, lines); - return path; - } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRangeSearchKernels.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRangeSearchKernels.java index 2980233749b..b85386e8a1c 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRangeSearchKernels.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRangeSearchKernels.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import org.apache.commons.io.FileUtils; @@ -21,11 +21,11 @@ public class ReplicateRangeSearchKernels { "engine/table/src/main/java/io/deephaven/engine/table/impl/rangejoin/RangeSearchKernelChar.java"; public static void main(@NotNull final String... args) throws IOException { - charToAllButBooleanAndFloats(CHAR_PATH); + charToAllButBooleanAndFloats("replicateRangeSearchKernels", CHAR_PATH); - fixupDouble(charToDouble(CHAR_PATH, Collections.emptyMap())); - fixupFloat(charToFloat(CHAR_PATH, Collections.emptyMap())); - fixupObject(charToObject(CHAR_PATH)); + fixupDouble(charToDouble("replicateRangeSearchKernels", CHAR_PATH, Collections.emptyMap())); + fixupFloat(charToFloat("replicateRangeSearchKernels", CHAR_PATH, Collections.emptyMap())); + fixupObject(charToObject("replicateRangeSearchKernels", CHAR_PATH)); } private static void fixupDouble(@NotNull final String doublePath) throws IOException { diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRegionAndRegionedSourceTests.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRegionAndRegionedSourceTests.java index c8404aa967a..56391c767cd 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRegionAndRegionedSourceTests.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRegionAndRegionedSourceTests.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import java.io.IOException; @@ -15,11 +15,11 @@ public class ReplicateRegionAndRegionedSourceTests { public static void main(String... args) throws IOException { - charToAllButBoolean( + charToAllButBoolean("replicateRegionAndRegionedSourceTests", "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/regioned/TestRegionedColumnSourceChar.java"); - charToAllButBooleanAndByte( + charToAllButBooleanAndByte("replicateRegionAndRegionedSourceTests", "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/regioned/TstColumnRegionChar.java"); - charToAllButBoolean( + charToAllButBoolean("replicateRegionAndRegionedSourceTests", "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/regioned/kernel/CharRegionBinarySearchKernelTest.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRegionsAndRegionedSources.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRegionsAndRegionedSources.java index a4895c9d434..a149934f24d 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRegionsAndRegionedSources.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRegionsAndRegionedSources.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import org.apache.commons.io.FileUtils; @@ -25,6 +25,7 @@ * some primitive types. */ public class ReplicateRegionsAndRegionedSources { + private static final String TASK = "replicateRegionsAndRegionedSources"; private static final String PARQUET_REGION_CHAR_PATH = "extensions/parquet/table/src/main/java/io/deephaven/parquet/table/region/ParquetColumnRegionChar.java"; @@ -36,24 +37,24 @@ public class ReplicateRegionsAndRegionedSources { public static void main(String... args) throws IOException { // Note that Byte and Object regions are not replicated! - charToAllButBooleanAndByte( + charToAllButBooleanAndByte(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/ColumnRegionChar.java"); - charToAllButBooleanAndByte( + charToAllButBooleanAndByte(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/DeferredColumnRegionChar.java"); // Note that Object regions are not replicated! - fixupParquetColumnRegions(charToAllButBooleanAndByte(PARQUET_REGION_CHAR_PATH)); - fixupChunkColumnRegionByte(charToByte(PARQUET_REGION_CHAR_PATH)); + fixupParquetColumnRegions(charToAllButBooleanAndByte(TASK, PARQUET_REGION_CHAR_PATH)); + fixupChunkColumnRegionByte(charToByte(TASK, PARQUET_REGION_CHAR_PATH)); - charToAllButBoolean(GENERIC_REGION_BINARY_SEARCH_KERNEL_PATH); - fixupBinSearchObject(charToObject(GENERIC_REGION_BINARY_SEARCH_KERNEL_PATH)); + charToAllButBoolean(TASK, GENERIC_REGION_BINARY_SEARCH_KERNEL_PATH); + fixupBinSearchObject(charToObject(TASK, GENERIC_REGION_BINARY_SEARCH_KERNEL_PATH)); - charToAllButBooleanAndByte(GENERIC_REGION_CHAR_PATH); - fixupChunkColumnRegionByte(charToByte(GENERIC_REGION_CHAR_PATH)); - fixupChunkColumnRegionObject(charToObject(GENERIC_REGION_CHAR_PATH)); + charToAllButBooleanAndByte(TASK, GENERIC_REGION_CHAR_PATH); + fixupChunkColumnRegionByte(charToByte(TASK, GENERIC_REGION_CHAR_PATH)); + fixupChunkColumnRegionObject(charToObject(TASK, GENERIC_REGION_CHAR_PATH)); - final List paths = charToAllButBoolean( + final List paths = charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/regioned/RegionedColumnSourceChar.java"); fixupRegionedColumnSourceLong(paths.stream().filter(p -> p.contains("Long")).findFirst().get()); fixupRegionedColumnSourceByte(paths.stream().filter(p -> p.contains("Byte")).findFirst().get()); diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateReverseKernel.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateReverseKernel.java index 8d82b0a49b8..1a90681644a 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateReverseKernel.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateReverseKernel.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -10,7 +10,7 @@ public class ReplicateReverseKernel { public static void main(String[] args) throws IOException { ReplicatePrimitiveCode - .charToAll( + .charToAll("replicateReverseKernel", "engine/table/src/main/java/io/deephaven/engine/table/impl/util/reverse/CharReverseKernel.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRingBuffers.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRingBuffers.java index 3c392b5bb84..71b96c5b254 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRingBuffers.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRingBuffers.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -17,11 +17,12 @@ import static io.deephaven.replication.ReplicationUtils.*; public class ReplicateRingBuffers { + private static final String TASK = "replicateRingBuffers"; public static void main(String... args) throws IOException { // replicate ring buffers to all but Object (since RingBuffer<> already exisits) - charToAllButBoolean("Base/src/main/java/io/deephaven/base/ringbuffer/CharRingBuffer.java"); - String objectResult = ReplicatePrimitiveCode.charToObject( + charToAllButBoolean(TASK, "Base/src/main/java/io/deephaven/base/ringbuffer/CharRingBuffer.java"); + String objectResult = ReplicatePrimitiveCode.charToObject(TASK, "Base/src/main/java/io/deephaven/base/ringbuffer/CharRingBuffer.java"); File objectFile = new File(objectResult); List lines = FileUtils.readLines(objectFile, Charset.defaultCharset()); @@ -66,9 +67,9 @@ public static void main(String... args) throws IOException { "\n")); FileUtils.writeLines(objectFile, lines); - charToAllButBoolean( + charToAllButBoolean(TASK, "Base/src/main/java/io/deephaven/base/ringbuffer/AggregatingCharRingBuffer.java"); - objectResult = ReplicatePrimitiveCode.charToObject( + objectResult = ReplicatePrimitiveCode.charToObject(TASK, "Base/src/main/java/io/deephaven/base/ringbuffer/AggregatingCharRingBuffer.java"); objectFile = new File(objectResult); lines = FileUtils.readLines(objectFile, Charset.defaultCharset()); @@ -102,8 +103,8 @@ public static void main(String... args) throws IOException { // replicate the tests - charToAllButBoolean("Base/src/test/java/io/deephaven/base/ringbuffer/CharRingBufferTest.java"); - objectResult = ReplicatePrimitiveCode.charToObject( + charToAllButBoolean(TASK, "Base/src/test/java/io/deephaven/base/ringbuffer/CharRingBufferTest.java"); + objectResult = ReplicatePrimitiveCode.charToObject(TASK, "Base/src/test/java/io/deephaven/base/ringbuffer/CharRingBufferTest.java"); objectFile = new File(objectResult); lines = FileUtils.readLines(objectFile, Charset.defaultCharset()); @@ -111,7 +112,7 @@ public static void main(String... args) throws IOException { "Object.MIN_VALUE", "new Object()"); FileUtils.writeLines(objectFile, lines); - List files = charToAllButBoolean( + List files = charToAllButBoolean(TASK, "Base/src/test/java/io/deephaven/base/ringbuffer/AggregatingCharRingBufferTest.java"); for (final String f : files) { if (f.contains("Byte")) { diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRingChunkSources.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRingChunkSources.java index f755346d266..26702965309 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateRingChunkSources.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateRingChunkSources.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -9,7 +9,7 @@ public class ReplicateRingChunkSources { public static void main(String[] args) throws IOException { - ReplicatePrimitiveCode.charToAllButBoolean( + ReplicatePrimitiveCode.charToAllButBoolean("replicateRingChunkSources", "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/ring/CharacterRingChunkSource.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedArray.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedArray.java index ecec58c4c31..aa1e742496a 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedArray.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedArray.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicationUtils; @@ -11,6 +11,8 @@ import java.io.IOException; import java.nio.charset.Charset; import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; import static io.deephaven.replication.ReplicatePrimitiveCode.charToAllButBoolean; import static io.deephaven.replication.ReplicatePrimitiveCode.charToObject; @@ -18,10 +20,12 @@ import static io.deephaven.replication.ReplicationUtils.simpleFixup; public class ReplicateSegmentedSortedArray { + private static final String TASK = "replicateSegmentedSortedArray"; + public static void main(String[] args) throws IOException { final String charSsaPath = "engine/table/src/main/java/io/deephaven/engine/table/impl/ssa/CharSegmentedSortedArray.java"; - final List ssas = charToAllButBoolean(charSsaPath); + final List ssas = charToAllButBoolean(TASK, charSsaPath); ssas.add(charSsaPath); invertSense(charSsaPath, descendingPath(charSsaPath)); @@ -29,7 +33,7 @@ public static void main(String[] args) throws IOException { final String charNullSsaPath = ReplicateDupCompactKernel.fixupCharNullComparisons(charSsaPath); invertSense(charNullSsaPath, descendingPath(charNullSsaPath)); - final String objectSsa = charToObject(charSsaPath); + final String objectSsa = charToObject(TASK, charSsaPath); fixupObjectSsa(objectSsa, true); ssas.add(objectSsa); @@ -48,7 +52,7 @@ public static void main(String[] args) throws IOException { final String charChunkSsaStampPath = "engine/table/src/main/java/io/deephaven/engine/table/impl/ssa/CharChunkSsaStamp.java"; - final List chunkSsaStamps = charToAllButBoolean(charChunkSsaStampPath); + final List chunkSsaStamps = charToAllButBoolean(TASK, charChunkSsaStampPath); chunkSsaStamps.add(charChunkSsaStampPath); invertSense(charChunkSsaStampPath, descendingPath(charChunkSsaStampPath)); @@ -61,7 +65,7 @@ public static void main(String[] args) throws IOException { fixupSsaName(descendingCharNullChunkSsaStampPath, "CharReverseSegmentedSortedArray", "NullAwareCharReverseSegmentedSortedArray"); - final String objectSsaStamp = charToObject(charChunkSsaStampPath); + final String objectSsaStamp = charToObject(TASK, charChunkSsaStampPath); fixupObjectSsa(objectSsaStamp, true); chunkSsaStamps.add(objectSsaStamp); @@ -80,7 +84,7 @@ public static void main(String[] args) throws IOException { final String charSsaSsaStampPath = "engine/table/src/main/java/io/deephaven/engine/table/impl/ssa/CharSsaSsaStamp.java"; - final List ssaSsaStamps = charToAllButBoolean(charSsaSsaStampPath); + final List ssaSsaStamps = charToAllButBoolean(TASK, charSsaSsaStampPath); ssaSsaStamps.add(charSsaSsaStampPath); invertSense(charSsaSsaStampPath, descendingPath(charSsaSsaStampPath)); @@ -92,7 +96,7 @@ public static void main(String[] args) throws IOException { fixupSsaName(descendingCharNullSsaSsaStampPath, "CharReverseSegmentedSortedArray", "NullAwareCharReverseSegmentedSortedArray"); - final String objectSsaSsaStamp = charToObject(charSsaSsaStampPath); + final String objectSsaSsaStamp = charToObject(TASK, charSsaSsaStampPath); fixupObjectSsa(objectSsaSsaStamp, true); ssaSsaStamps.add(objectSsaSsaStamp); @@ -111,12 +115,12 @@ public static void main(String[] args) throws IOException { final String charSsaCheckerPath = "engine/table/src/main/java/io/deephaven/engine/table/impl/ssa/CharSsaChecker.java"; - final List ssaCheckers = charToAllButBoolean(charSsaCheckerPath); + final List ssaCheckers = charToAllButBoolean(TASK, charSsaCheckerPath); ssaCheckers.add(charSsaCheckerPath); invertSense(charSsaCheckerPath, descendingPath(charSsaCheckerPath)); - final String objectSsaChecker = charToObject(charSsaCheckerPath); + final String objectSsaChecker = charToObject(TASK, charSsaCheckerPath); fixupObjectSsa(objectSsaChecker, true); ssaCheckers.add(objectSsaChecker); @@ -139,12 +143,18 @@ private static void invertSense(String path, String descendingPath) throws IOExc List lines = ascendingNameToDescendingName(path, FileUtils.readLines(file, Charset.defaultCharset())); + // Skip, re-add file header + lines = Stream.concat( + ReplicationUtils.fileHeaderStream(TASK, ReplicationUtils.className(path)), + lines.stream().dropWhile(line -> line.startsWith("//")) + ).collect(Collectors.toList()); + if (path.contains("ChunkSsaStamp") || path.contains("SsaSsaStamp") || path.contains("SsaChecker")) { - lines = globalReplacements(3, lines, "\\BSegmentedSortedArray", "ReverseSegmentedSortedArray"); + lines = globalReplacements(lines, "\\BSegmentedSortedArray", "ReverseSegmentedSortedArray"); } if (path.contains("SegmentedSortedArray")) { - lines = globalReplacements(3, lines, "\\BSsaChecker", "ReverseSsaChecker"); + lines = globalReplacements(lines, "\\BSsaChecker", "ReverseSsaChecker"); } @@ -163,7 +173,14 @@ private static void invertSense(String path, String descendingPath) throws IOExc private static void fixupSsaName(String path, String oldName, String newName) throws IOException { final File file = new File(path); List lines = FileUtils.readLines(file, Charset.defaultCharset()); - lines = globalReplacements(3, lines, oldName, newName); + + // Skip, re-add file header + lines = Stream.concat( + ReplicationUtils.fileHeaderStream(TASK, ReplicationUtils.className(path)), + lines.stream().dropWhile(line -> line.startsWith("//")) + ).collect(Collectors.toList()); + + lines = globalReplacements(lines, oldName, newName); FileUtils.writeLines(new File(path), lines); } @@ -171,8 +188,14 @@ private static void fixupSsaName(String path, String oldName, String newName) th private static List ascendingNameToDescendingName(String path, List lines) { final String className = new File(path).getName().replaceAll(".java$", ""); final String newName = descendingPath(className); - // we should skip the replicate header - return globalReplacements(3, lines, className, newName); + + // Skip, re-add file header + lines = Stream.concat( + ReplicationUtils.fileHeaderStream(TASK, ReplicationUtils.className(path)), + lines.stream().dropWhile(line -> line.startsWith("//")) + ).collect(Collectors.toList()); + + return globalReplacements(lines, className, newName); } @NotNull diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedArrayTests.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedArrayTests.java index f9e70cb2eb4..4c8b4d4aa90 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedArrayTests.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedArrayTests.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicationUtils; @@ -18,10 +18,10 @@ public class ReplicateSegmentedSortedArrayTests { public static void main(String[] args) throws IOException { ReplicateSegmentedSortedArray.main(args); - charToAllButBoolean( + charToAllButBoolean("replicateSegmentedSortedArrayTests", "engine/table/src/test/java/io/deephaven/engine/table/impl/ssa/TestCharSegmentedSortedArray.java"); final String objectSsaTest = - charToObject( + charToObject("replicateSegmentedSortedArrayTests", "engine/table/src/test/java/io/deephaven/engine/table/impl/ssa/TestCharSegmentedSortedArray.java"); fixupObjectSsaTest(objectSsaTest); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedMultiset.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedMultiset.java index 71268629a93..d0bf3daddaa 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedMultiset.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedMultiset.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import gnu.trove.set.hash.THashSet; @@ -19,101 +19,103 @@ import static io.deephaven.replication.ReplicationUtils.*; public class ReplicateSegmentedSortedMultiset { + private static final String TASK = "replicateSegmentedSortedMultiset"; + public static void main(String[] args) throws IOException { - charToAllButBooleanAndLong( + charToAllButBooleanAndLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/CharSegmentedSortedMultiset.java"); - insertInstantExtensions(charToLong( + insertInstantExtensions(charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/CharSegmentedSortedMultiset.java")); - String objectSsm = charToObject( + String objectSsm = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/ssms/CharSegmentedSortedMultiset.java"); fixupObjectSsm(objectSsm, ReplicateSegmentedSortedMultiset::fixupNulls, ReplicateSegmentedSortedMultiset::fixupTHashes, ReplicateSegmentedSortedMultiset::fixupSsmConstructor, ReplicateSegmentedSortedMultiset::fixupObjectCompare); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmminmax/CharSetResult.java"); fixupObjectSsm( - charToObject( + charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmminmax/CharSetResult.java"), ReplicateSegmentedSortedMultiset::fixupNulls); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmpercentile/CharPercentileTypeHelper.java"); fixupObjectSsm( - charToObject( + charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmpercentile/CharPercentileTypeHelper.java"), ReplicateSegmentedSortedMultiset::fixupNulls); - charToIntegers( + charToIntegers(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmpercentile/CharPercentileTypeMedianHelper.java"); - floatToAllFloatingPoints( + floatToAllFloatingPoints(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmpercentile/FloatPercentileTypeMedianHelper.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/CharSsmBackedSource.java"); - objectSsm = charToObject( + objectSsm = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/CharSsmBackedSource.java"); fixupObjectSsm(objectSsm, ReplicateSegmentedSortedMultiset::fixupSourceConstructor, (l) -> replaceRegion(l, "CreateNew", Collections.singletonList( " underlying.set(key, ssm = new ObjectSegmentedSortedMultiset(SsmDistinctContext.NODE_SIZE, Object.class));"))); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/count/CharChunkedCountDistinctOperator.java"); fixupObjectKernelOperator( - charToObject( + charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/count/CharChunkedCountDistinctOperator.java"), "ssms"); - charToAllButBooleanAndLong( + charToAllButBooleanAndLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/CharChunkedDistinctOperator.java"); fixupLongKernelOperator( - charToLong( + charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/CharChunkedDistinctOperator.java"), " externalResult = new InstantSsmSourceWrapper(internalResult);"); fixupObjectKernelOperator( - charToObject( + charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/CharChunkedDistinctOperator.java"), "internalResult"); - charToAllButBooleanAndLong( + charToAllButBooleanAndLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/CharChunkedUniqueOperator.java"); fixupLongKernelOperator( - charToLong( + charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/CharChunkedUniqueOperator.java"), " externalResult = new LongAsInstantColumnSource(internalResult);"); fixupObjectKernelOperator( - charToObject( + charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/CharChunkedUniqueOperator.java"), "ssms"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/count/CharRollupCountDistinctOperator.java"); - fixupObjectKernelOperator(charToObject( + fixupObjectKernelOperator(charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/count/CharRollupCountDistinctOperator.java"), "ssms"); - charToAllButBooleanAndLong( + charToAllButBooleanAndLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/CharRollupDistinctOperator.java"); fixupLongKernelOperator( - charToLong( + charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/CharRollupDistinctOperator.java"), " externalResult = new InstantSsmSourceWrapper(internalResult);"); fixupObjectKernelOperator( - charToObject( + charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/distinct/CharRollupDistinctOperator.java"), "internalResult"); - charToAllButBooleanAndLong( + charToAllButBooleanAndLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/CharRollupUniqueOperator.java"); fixupLongKernelOperator( - charToLong( + charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/CharRollupUniqueOperator.java"), " externalResult = new LongAsInstantColumnSource(internalResult);"); fixupObjectKernelOperator( - charToObject( + charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/by/ssmcountdistinct/unique/CharRollupUniqueOperator.java"), "ssms"); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedMultisetTests.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedMultisetTests.java index 3d119fe2ec4..f7220feb53d 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedMultisetTests.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSegmentedSortedMultisetTests.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicationUtils; @@ -18,17 +18,17 @@ public class ReplicateSegmentedSortedMultisetTests { public static void main(String[] args) throws IOException { ReplicateSegmentedSortedMultiset.main(args); - charToAllButBooleanAndFloats( + charToAllButBooleanAndFloats("replicateSegmentedSortedMultisetTests", "engine/table/src/test/java/io/deephaven/engine/table/impl/ssms/TestCharSegmentedSortedMultiset.java"); fixupFloatTests( - charToFloat( + charToFloat("replicateSegmentedSortedMultisetTests", "engine/table/src/test/java/io/deephaven/engine/table/impl/ssms/TestCharSegmentedSortedMultiset.java", null)); - fixupFloatTests(charToDouble( + fixupFloatTests(charToDouble("replicateSegmentedSortedMultisetTests", "engine/table/src/test/java/io/deephaven/engine/table/impl/ssms/TestCharSegmentedSortedMultiset.java", null)); final String objectSsaTest = - charToObject( + charToObject("replicateSegmentedSortedMultisetTests", "engine/table/src/test/java/io/deephaven/engine/table/impl/ssms/TestCharSegmentedSortedMultiset.java"); fixupObjectSsaTest(objectSsaTest); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSetInclusionKernel.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSetInclusionKernel.java index 68bbbf56e95..59f138ad90d 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSetInclusionKernel.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSetInclusionKernel.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import java.io.IOException; @@ -9,7 +9,7 @@ public class ReplicateSetInclusionKernel { public static void main(String[] args) throws IOException { - charToAllButBoolean( + charToAllButBoolean("replicateSetInclusionKernel", "engine/table/src/main/java/io/deephaven/engine/table/impl/select/setinclusion/CharSetInclusionKernel.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortCheck.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortCheck.java index f0e00b41e82..a2d4c995395 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortCheck.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortCheck.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicationUtils; @@ -12,6 +12,8 @@ import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List; +import java.util.stream.Collectors; +import java.util.stream.Stream; import static io.deephaven.replication.ReplicatePrimitiveCode.charToAllButBoolean; import static io.deephaven.replication.ReplicatePrimitiveCode.charToObject; @@ -25,8 +27,8 @@ public static void main(String[] args) throws IOException { final String charSortCheckPath = "engine/table/src/main/java/io/deephaven/engine/table/impl/sortcheck/CharSortCheck.java"; invertList.add(charSortCheckPath); - invertList.addAll(charToAllButBoolean(charSortCheckPath)); - final String objectPath = charToObject(charSortCheckPath); + invertList.addAll(charToAllButBoolean("replicateSortCheck", charSortCheckPath)); + final String objectPath = charToObject("replicateSortCheck", charSortCheckPath); invertList.add(objectPath); ReplicationUtils.fixupChunkAttributes(objectPath); @@ -55,8 +57,14 @@ private static void invertSense(String path, String descendingPath) throws IOExc private static List ascendingNameToDescendingName(String path, List lines) { final String className = new File(path).getName().replaceAll(".java$", ""); final String newName = ascendingNameToDescendingName(className); - // we should skip the replicate header - return globalReplacements(3, lines, className, newName); + + // Skip, re-add file header + lines = Stream.concat( + ReplicationUtils.fileHeaderStream("replicateSortCheck", ReplicationUtils.className(path)), + lines.stream().dropWhile(line -> line.startsWith("//")) + ).collect(Collectors.toList()); + + return globalReplacements(lines, className, newName); } @NotNull diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortKernel.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortKernel.java index e0a4dfbfc66..8e256ef7f70 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortKernel.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortKernel.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicationUtils; @@ -16,11 +16,14 @@ import java.util.Collections; import java.util.List; import java.util.stream.Collectors; +import java.util.stream.Stream; import static io.deephaven.replication.ReplicatePrimitiveCode.*; import static io.deephaven.replication.ReplicationUtils.*; public class ReplicateSortKernel { + private static final String TASK = "replicateSortKernel"; + public static void main(String[] args) throws IOException { replicateLongToInt(); replicateLongToByte(); @@ -36,29 +39,29 @@ public static void main(String[] args) throws IOException { doCharMegaMergeReplication( "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/megamerge/CharLongMegaMergeKernel.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/findruns/CharFindRunsKernel.java"); - final String objectRunPath = charToObject( + final String objectRunPath = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/findruns/CharFindRunsKernel.java"); fixupObjectRuns(objectRunPath); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/partition/CharPartitionKernel.java"); - final String objectPartitionPath = charToObject( + final String objectPartitionPath = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/partition/CharPartitionKernel.java"); fixupObjectPartition(objectPartitionPath); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/permute/CharPermuteKernel.java"); - fixupObjectPermute(charToObject( + fixupObjectPermute(charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/permute/CharPermuteKernel.java")); } private static void doCharReplication(@NotNull final String sourceClassJavaPath) throws IOException { // replicate char to each of the other types final List timsortPaths = - charToAllButBoolean(sourceClassJavaPath); - final String objectSortPath = charToObject(sourceClassJavaPath); + charToAllButBoolean(TASK, sourceClassJavaPath); + final String objectSortPath = charToObject(TASK, sourceClassJavaPath); timsortPaths.add(sourceClassJavaPath); timsortPaths.add(objectSortPath); @@ -105,8 +108,8 @@ private static void doCharReplication(@NotNull final String sourceClassJavaPath) private static void doCharMegaMergeReplication(String sourceClassJavaPath) throws IOException { // replicate char to each of the other types - final List megaMergePaths = charToAllButBoolean(sourceClassJavaPath); - final String objectSortPath = charToObject(sourceClassJavaPath); + final List megaMergePaths = charToAllButBoolean(TASK, sourceClassJavaPath); + final String objectSortPath = charToObject(TASK, sourceClassJavaPath); megaMergePaths.add(sourceClassJavaPath); megaMergePaths.add(objectSortPath); @@ -124,21 +127,22 @@ private static void doCharMegaMergeReplication(String sourceClassJavaPath) throw } private static void replicateLongToInt() throws IOException { - final String intSortKernelPath = longToInt( + final String intSortKernelPath = longToInt(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/LongSortKernel.java"); fixupIntSortKernel(intSortKernelPath); - longToInt( + longToInt(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/timsort/CharLongTimsortKernel.java"); - longToInt( + longToInt(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/radix/BooleanLongRadixSortKernel.java"); } private static void replicateLongToByte() throws IOException { - final String byteSortKernelPath = longToByte( + final String byteSortKernelPath = longToByte(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/LongSortKernel.java"); fixupByteSortKernel(byteSortKernelPath); - longToByte("engine/table/src/main/java/io/deephaven/engine/table/impl/sort/timsort/CharLongTimsortKernel.java"); - longToByte( + longToByte(TASK, + "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/timsort/CharLongTimsortKernel.java"); + longToByte(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sort/radix/BooleanLongRadixSortKernel.java"); } @@ -171,15 +175,21 @@ private static void fixupByteSortKernel(String byteSortKernelPath) throws IOExce private static void invertSense(String path, String descendingPath) throws IOException { final File file = new File(path); - final List lines = ascendingNameToDescendingName(FileUtils.readLines(file, Charset.defaultCharset())); + final List lines = ascendingNameToDescendingName(path, FileUtils.readLines(file, Charset.defaultCharset())); FileUtils.writeLines(new File(descendingPath), invertComparisons(lines)); } @NotNull - private static List ascendingNameToDescendingName(List lines) { - // we should skip the replicate header - return globalReplacements(3, lines, "TimsortKernel", "TimsortDescendingKernel", "\\BLongMegaMergeKernel", + private static List ascendingNameToDescendingName(String sourceFile, List lines) { + + // Skip, re-add file header + lines = Stream.concat( + ReplicationUtils.fileHeaderStream(TASK, ReplicationUtils.className(sourceFile)), + lines.stream().dropWhile(line -> line.startsWith("//")) + ).collect(Collectors.toList()); + + return globalReplacements(lines, "TimsortKernel", "TimsortDescendingKernel", "\\BLongMegaMergeKernel", "LongMegaMergeDescendingKernel"); } @@ -188,7 +198,7 @@ private static void fixupObjectTimSort(String objectPath, boolean ascending) thr List lines = FileUtils.readLines(objectFile, Charset.defaultCharset()); if (!ascending) { - lines = ascendingNameToDescendingName(lines); + lines = ascendingNameToDescendingName(objectPath, lines); } lines = fixupChunkAttributes(lines); @@ -201,7 +211,7 @@ private static void fixupObjectMegaMerge(String objectPath, boolean ascending) t List lines = FileUtils.readLines(objectFile, Charset.defaultCharset()); if (!ascending) { - lines = ascendingNameToDescendingName(lines); + lines = ascendingNameToDescendingName(objectPath, lines); lines = invertComparisons(lines); } @@ -338,11 +348,7 @@ private static void fixupCharNullComparisons(String sourceClassJavaPath, String } } - lines.addAll(insertionPoint, Arrays.asList( - "/* ---------------------------------------------------------------------------------------------------------------------", - " * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit " + oldName - + " and regenerate", - " * ------------------------------------------------------------------------------------------------------------------ */")); + lines.add(insertionPoint, ReplicationUtils.fileHeaderString(TASK, oldName)); FileUtils.writeLines(new File(newPath), lines); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortKernelTests.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortKernelTests.java index ff216c794f5..564e1929478 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortKernelTests.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSortKernelTests.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicationUtils; @@ -18,33 +18,35 @@ import static io.deephaven.replication.ReplicatePrimitiveCode.charToObject; public class ReplicateSortKernelTests { + private static final String TASK = "replicateSortKernelTests"; + public static void main(String[] args) throws IOException { ReplicateSortKernel.main(args); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sort/timsort/TestCharTimSortKernel.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sort/timsort/BaseTestCharTimSortKernel.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/sort/timsort/CharSortKernelBenchmark.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/partition/CharPartitionKernelBenchmark.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sort/permute/TestCharPermuteKernel.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sort/megamerge/TestCharLongMegaMerge.java"); final String baseTestPath = - charToObject( + charToObject(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sort/timsort/BaseTestCharTimSortKernel.java"); fixupObject(baseTestPath); - charToObject( + charToObject(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sort/timsort/TestCharTimSortKernel.java"); - charToObject( + charToObject(TASK, "engine/benchmark/src/benchmark/java/io/deephaven/benchmark/engine/sort/timsort/CharSortKernelBenchmark.java"); - final String objectMegaMergePath = charToObject( + final String objectMegaMergePath = charToObject(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sort/megamerge/TestCharLongMegaMerge.java"); fixupObjectMegaMerge(objectMegaMergePath); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSourceAndChunkTests.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSourceAndChunkTests.java index 8ef644491f3..a76c87c05e2 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSourceAndChunkTests.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSourceAndChunkTests.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -17,67 +17,72 @@ import static io.deephaven.replication.ReplicationUtils.*; public class ReplicateSourceAndChunkTests { + private static final String TASK = "replicateSourceAndChunkTests"; + public static void main(String[] args) throws IOException { ReplicateSourcesAndChunks.main(args); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/TestCharacterArraySource.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/TestCharacterArraySource.java"); - fixupBooleanColumnSourceTest(charToBooleanAsByte( + fixupBooleanColumnSourceTest(charToBooleanAsByte(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/TestCharacterArraySource.java", Collections.emptyMap())); - fixupObjectColumnSourceTest(charToObject( + fixupObjectColumnSourceTest(charToObject(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/TestCharacterArraySource.java")); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/AbstractCharacterColumnSourceTest.java"); - fixupBooleanColumnSourceTest(charToBooleanAsByte( + fixupBooleanColumnSourceTest(charToBooleanAsByte(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/AbstractCharacterColumnSourceTest.java", Collections.emptyMap())); - fixupObjectColumnSourceTest(charToObject( + fixupObjectColumnSourceTest(charToObject(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/AbstractCharacterColumnSourceTest.java")); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/TestCharacterSparseArraySource.java"); - fixupBooleanColumnSourceTest(charToBooleanAsByte( + fixupBooleanColumnSourceTest(charToBooleanAsByte(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/TestCharacterSparseArraySource.java", Collections.emptyMap())); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/TestCharacterImmutableArraySource.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/TestCharacterImmutable2DArraySource.java"); - charToAllButBoolean("engine/chunk/src/test/java/io/deephaven/chunk/TestCharChunk.java"); - fixupChunkTest(charToObject("engine/chunk/src/test/java/io/deephaven/chunk/TestCharChunk.java")); - fixupBooleanChunkTest(charToBoolean("engine/chunk/src/test/java/io/deephaven/chunk/TestCharChunk.java")); + charToAllButBoolean(TASK, "engine/chunk/src/test/java/io/deephaven/chunk/TestCharChunk.java"); + fixupChunkTest(charToObject(TASK, "engine/chunk/src/test/java/io/deephaven/chunk/TestCharChunk.java")); + fixupBooleanChunkTest(charToBoolean(TASK, "engine/chunk/src/test/java/io/deephaven/chunk/TestCharChunk.java")); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/deltaaware/TestCharacterDeltaAwareColumnSource.java"); - fixupBooleanDeltaAwareColumnSourceTest(charToBooleanAsByte( + fixupBooleanDeltaAwareColumnSourceTest(charToBooleanAsByte(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/deltaaware/TestCharacterDeltaAwareColumnSource.java", Collections.emptyMap())); - fixupObjectDeltaAwareColumnSourceTest(charToObject( + fixupObjectDeltaAwareColumnSourceTest(charToObject(TASK, "engine/table/src/test/java/io/deephaven/engine/table/impl/sources/deltaaware/TestCharacterDeltaAwareColumnSource.java")); - charToAllButBoolean("engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/CharTestSource.java"); - fixupObjectTestSource(charToObject( + charToAllButBoolean(TASK, + "engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/CharTestSource.java"); + fixupObjectTestSource(charToObject(TASK, "engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/CharTestSource.java")); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/ImmutableCharTestSource.java"); - fixupObjectTestSource(charToObject( + fixupObjectTestSource(charToObject(TASK, "engine/test-utils/src/main/java/io/deephaven/engine/testutil/sources/ImmutableCharTestSource.java")); - charToAllButBooleanAndFloats( + charToAllButBooleanAndFloats(TASK, "engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/CharGenerator.java"); - floatToAllFloatingPoints( + floatToAllFloatingPoints(TASK, "engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/FloatGenerator.java"); - charToAllButBooleanAndFloats( + charToAllButBooleanAndFloats(TASK, "engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/UniqueCharGenerator.java"); - charToLong("engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/SortedCharGenerator.java"); - charToInteger("engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/SortedCharGenerator.java", + charToLong(TASK, + "engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/SortedCharGenerator.java"); + charToInteger(TASK, + "engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/SortedCharGenerator.java", Collections.emptyMap()); - fixupSortedDoubleGenerator(charToDouble( + fixupSortedDoubleGenerator(charToDouble(TASK, "engine/test-utils/src/main/java/io/deephaven/engine/testutil/generator/SortedCharGenerator.java", Collections.emptyMap())); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSourcesAndChunks.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSourcesAndChunks.java index 8e8378f2937..d8aae5620e2 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateSourcesAndChunks.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateSourcesAndChunks.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.base.verify.Require; @@ -28,58 +28,59 @@ import static io.deephaven.replication.ReplicationUtils.*; public class ReplicateSourcesAndChunks { + public static final String TASK = "replicateSourcesAndChunks"; public static void main(String... args) throws IOException { replicateArraySources(); replicateSparseArraySources(); replicateSingleValues(); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/aggregate/CharAggregateColumnSource.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/aggregate/SlicedCharAggregateColumnSource.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/aggregate/RangeAggregateColumnSourceChar.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/UngroupedCharArrayColumnSource.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/UngroupedCharVectorColumnSource.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/UngroupedBoxedCharObjectVectorColumnSource.java"); - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/UngroupedBoxedCharArrayColumnSource.java"); - charToAllButBooleanAndLong( + charToAllButBooleanAndLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableCharArraySource.java"); - fixupImmutableLongArraySource(charToLong( + fixupImmutableLongArraySource(charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableCharArraySource.java")); fixupByteReinterpret( "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableByteArraySource.java"); replicateObjectImmutableArraySource(); - charToAllButBooleanAndLong( + charToAllButBooleanAndLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DCharArraySource.java"); - fixupImmutable2DLongArraySource(charToLong( + fixupImmutable2DLongArraySource(charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DCharArraySource.java")); fixupByteReinterpret( "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/Immutable2DByteArraySource.java"); replicateObjectImmutable2DArraySource(); - charToAllButBooleanAndLong( + charToAllButBooleanAndLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantCharSource.java"); - fixupImmutableConstantLongSource(charToLong( + fixupImmutableConstantLongSource(charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantCharSource.java")); fixupByteReinterpret( "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/immutable/ImmutableConstantByteSource.java"); replicateImmutableConstantObjectSource(); - charToAll("engine/chunk/src/main/java/io/deephaven/chunk/sized/SizedCharChunk.java"); + charToAll(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/sized/SizedCharChunk.java"); replicateObjectSizedChunk(); - charToAll("engine/table/src/main/java/io/deephaven/engine/page/CharChunkPage.java"); + charToAll(TASK, "engine/table/src/main/java/io/deephaven/engine/page/CharChunkPage.java"); replicateObjectChunkPage("engine/table/src/main/java/io/deephaven/engine/page/CharChunkPage.java"); - charToAll("extensions/source-support/src/main/java/io/deephaven/generic/page/ChunkHolderPageChar.java"); + charToAll(TASK, "extensions/source-support/src/main/java/io/deephaven/generic/page/ChunkHolderPageChar.java"); replicateObjectChunkPage( "extensions/source-support/src/main/java/io/deephaven/generic/page/ChunkHolderPageChar.java"); @@ -96,19 +97,19 @@ public static void main(String... args) throws IOException { replicateResettableWritableChunkChunks(); replicateFactories(); - charToAll("engine/chunk/src/main/java/io/deephaven/chunk/util/pools/CharChunkPool.java"); - charToAll("engine/chunk/src/main/java/io/deephaven/chunk/util/pools/CharChunkSoftPool.java"); + charToAll(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/pools/CharChunkPool.java"); + charToAll(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/pools/CharChunkSoftPool.java"); replicateChunkFillers(); - charToAll("engine/table/src/main/java/io/deephaven/engine/table/impl/chunkfillers/CharChunkFiller.java"); + charToAll(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/chunkfillers/CharChunkFiller.java"); replicateChunkColumnSource(); } private static void replicateObjectSizedChunk() throws IOException { String path = ReplicatePrimitiveCode - .charToObject("engine/chunk/src/main/java/io/deephaven/chunk/sized/SizedCharChunk.java"); + .charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/sized/SizedCharChunk.java"); final File classFile = new File(path); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); lines = globalReplacements(lines, @@ -119,7 +120,7 @@ private static void replicateObjectSizedChunk() throws IOException { } private static void replicateObjectChunkPage(final String charPath) throws IOException { - String path = ReplicatePrimitiveCode.charToObject(charPath); + String path = ReplicatePrimitiveCode.charToObject(TASK, charPath); final File classFile = new File(path); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); lines = globalReplacements(lines, @@ -359,14 +360,14 @@ private static void fixupByteReinterpret(String byteImmutableSource) throws IOEx } private static void replicateSingleValues() throws IOException { - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterSingleValueSource.java"); replicateObjectSingleValue(); replicateBooleanSingleValue(); } private static void replicateObjectSingleValue() throws IOException { - final String resultClassJavaPath = charToObject( + final String resultClassJavaPath = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterSingleValueSource.java"); final File resultClassJavaFile = new File(resultClassJavaPath); List lines = FileUtils.readLines(resultClassJavaFile, Charset.defaultCharset()); @@ -405,7 +406,7 @@ private static void replicateObjectSingleValue() throws IOException { } private static void replicateBooleanSingleValue() throws IOException { - final String resultClassJavaPath = charToBoolean( + final String resultClassJavaPath = charToBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterSingleValueSource.java"); final File resultClassJavaFile = new File(resultClassJavaPath); List lines = FileUtils.readLines(resultClassJavaFile, Charset.defaultCharset()); @@ -435,13 +436,13 @@ private static void replicateBooleanSingleValue() throws IOException { } private static void replicateChunkColumnSource() throws IOException { - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/chunkcolumnsource/CharChunkColumnSource.java"); replicateObjectChunkColumnSource(); } private static void replicateObjectChunkColumnSource() throws IOException { - final String resultClassJavaPath = charToObject( + final String resultClassJavaPath = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/chunkcolumnsource/CharChunkColumnSource.java"); final File resultClassJavaFile = new File(resultClassJavaPath); List lines = FileUtils.readLines(resultClassJavaFile, Charset.defaultCharset()); @@ -480,8 +481,7 @@ private static void replicateImmutableConstantObjectSource() throws IOException } private static void replicateObjectImmutableSource(String immutableSourcePath) throws IOException { - final String resultClassJavaPath = charToObject( - immutableSourcePath); + final String resultClassJavaPath = charToObject(TASK, immutableSourcePath); final File resultClassJavaFile = new File(resultClassJavaPath); List lines = FileUtils.readLines(resultClassJavaFile, Charset.defaultCharset()); lines = removeRegion(lines, "boxing imports"); @@ -547,7 +547,7 @@ private static List genericObjectColumnSourceReplacements(List l } private static void replicateArraySources() throws IOException { - charToAllButBooleanAndLong( + charToAllButBooleanAndLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterArraySource.java"); replicateLongArraySource(); } @@ -555,7 +555,7 @@ private static void replicateArraySources() throws IOException { private static void replicateSparseArraySources() throws IOException { replicateOneOrN(); - charToAllButBooleanAndLong( + charToAllButBooleanAndLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterSparseArraySource.java"); replicateLongSparseArraySource(); replicateBooleanSparseArraySource(); @@ -563,14 +563,14 @@ private static void replicateSparseArraySources() throws IOException { } private static void replicateChunks() throws IOException { - charToAllButBooleanAndByte("engine/chunk/src/main/java/io/deephaven/chunk/CharChunk.java"); + charToAllButBooleanAndByte(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/CharChunk.java"); replicateByteChunks(); replicateBooleanChunks(); replicateObjectChunks(); } private static void replicateByteChunks() throws IOException { - final String className = charToByte("engine/chunk/src/main/java/io/deephaven/chunk/CharChunk.java"); + final String className = charToByte(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/CharChunk.java"); final File classFile = new File(className); List classLines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -590,7 +590,7 @@ private static void replicateByteChunks() throws IOException { } private static void replicateBooleanChunks() throws IOException { - final String className = charToBoolean("engine/chunk/src/main/java/io/deephaven/chunk/CharChunk.java"); + final String className = charToBoolean(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/CharChunk.java"); final File classFile = new File(className); List classLines = FileUtils.readLines(classFile, Charset.defaultCharset()); classLines = ReplicationUtils.removeRegion(classLines, "BufferImports"); @@ -601,7 +601,7 @@ private static void replicateBooleanChunks() throws IOException { } private static void replicateObjectChunks() throws IOException { - final String className = charToObject("engine/chunk/src/main/java/io/deephaven/chunk/CharChunk.java"); + final String className = charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/CharChunk.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); lines = globalReplacements(lines, @@ -630,12 +630,12 @@ private static void replicateObjectChunks() throws IOException { } private static void replicateChunkChunks() throws IOException { - charToAll("engine/chunk/src/main/java/io/deephaven/chunk/CharChunkChunk.java"); + charToAll(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/CharChunkChunk.java"); replicateObjectChunkChunks(); } private static void replicateObjectChunkChunks() throws IOException { - final String className = charToObject( + final String className = charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/CharChunkChunk.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -656,7 +656,7 @@ private static void replicateObjectChunkChunks() throws IOException { private static void replicateWritableChunks() throws IOException { final List files = - charToAllButBoolean("engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunk.java"); + charToAllButBoolean(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunk.java"); for (String fileName : files) { final File classFile = new File(fileName); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -668,7 +668,7 @@ private static void replicateWritableChunks() throws IOException { } private static void replicateWritableBooleanChunks() throws IOException { - final String writableBooleanChunkClassName = charToBoolean( + final String writableBooleanChunkClassName = charToBoolean(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunk.java"); final File writableBooleanChunkClassFile = new File(writableBooleanChunkClassName); List writableBooleanChunkClassLines = @@ -686,7 +686,7 @@ private static void replicateWritableBooleanChunks() throws IOException { } private static void replicateWritableObjectChunks() throws IOException { - final String className = charToObject( + final String className = charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunk.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -724,13 +724,13 @@ private static void replicateWritableObjectChunks() throws IOException { } private static void replicateWritableChunkChunks() throws IOException { - charToAllButBoolean("engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunkChunk.java"); + charToAllButBoolean(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunkChunk.java"); replicateWritableBooleanChunkChunks(); replicateWritableObjectChunkChunks(); } private static void replicateWritableBooleanChunkChunks() throws IOException { - final String writableBooleanChunkClassName = charToBoolean( + final String writableBooleanChunkClassName = charToBoolean(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunkChunk.java"); final File writableBooleanChunkClassFile = new File(writableBooleanChunkClassName); List writableBooleanChunkClassLines = @@ -748,7 +748,7 @@ private static void replicateWritableBooleanChunkChunks() throws IOException { } private static void replicateWritableObjectChunkChunks() throws IOException { - final String className = charToObject( + final String className = charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/WritableCharChunkChunk.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -769,12 +769,12 @@ private static void replicateWritableObjectChunkChunks() throws IOException { } private static void replicateResettableChunks() throws IOException { - charToAll("engine/chunk/src/main/java/io/deephaven/chunk/ResettableCharChunk.java"); + charToAll(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/ResettableCharChunk.java"); replicateResettableObjectChunks(); } private static void replicateResettableObjectChunks() throws IOException { - final String className = charToObject( + final String className = charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/ResettableCharChunk.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -792,12 +792,12 @@ private static void replicateResettableObjectChunks() throws IOException { } private static void replicateResettableWritableChunks() throws IOException { - charToAll("engine/chunk/src/main/java/io/deephaven/chunk/ResettableWritableCharChunk.java"); + charToAll(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/ResettableWritableCharChunk.java"); replicateResettableWritableObjectChunks(); } private static void replicateResettableWritableObjectChunks() throws IOException { - final String className = charToObject( + final String className = charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/ResettableWritableCharChunk.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -815,12 +815,12 @@ private static void replicateResettableWritableObjectChunks() throws IOException } private static void replicateResettableWritableChunkChunks() throws IOException { - charToAll("engine/chunk/src/main/java/io/deephaven/chunk/ResettableWritableCharChunkChunk.java"); + charToAll(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/ResettableWritableCharChunkChunk.java"); replicateResettableWritableObjectChunkChunks(); } private static void replicateResettableWritableObjectChunkChunks() throws IOException { - final String className = charToObject( + final String className = charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/ResettableWritableCharChunkChunk.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -840,12 +840,12 @@ private static void replicateResettableWritableObjectChunkChunks() throws IOExce } private static void replicateResettableChunkChunks() throws IOException { - charToAll("engine/chunk/src/main/java/io/deephaven/chunk/ResettableCharChunkChunk.java"); + charToAll(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/ResettableCharChunkChunk.java"); replicateResettableObjectChunkChunks(); } private static void replicateResettableObjectChunkChunks() throws IOException { - final String className = charToObject( + final String className = charToObject(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/ResettableCharChunkChunk.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -860,9 +860,9 @@ private static void replicateResettableObjectChunkChunks() throws IOException { } private static void replicateFactories() throws IOException { - charToAllButBoolean( + charToAllButBoolean(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/factories/CharChunkFactory.java"); - final String className = charToBoolean( + final String className = charToBoolean(TASK, "engine/chunk/src/main/java/io/deephaven/chunk/util/factories/CharChunkFactory.java"); final File classFile = new File(className); List classLines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -870,12 +870,12 @@ private static void replicateFactories() throws IOException { } private static void replicateChunkFillers() throws IOException { - charToAll("engine/table/src/main/java/io/deephaven/engine/table/impl/chunkfillers/CharChunkFiller.java"); + charToAll(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/chunkfillers/CharChunkFiller.java"); replicateObjectChunkFiller(); } private static void replicateObjectChunkFiller() throws IOException { - final String className = charToObject( + final String className = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/chunkfillers/CharChunkFiller.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -887,7 +887,7 @@ private static void replicateObjectChunkFiller() throws IOException { } private static void replicateLongArraySource() throws IOException { - final String className = charToLong( + final String className = charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterArraySource.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -985,7 +985,7 @@ private static void replicateLongArraySource() throws IOException { } private static void replicateLongSparseArraySource() throws IOException { - final String className = charToLong( + final String className = charToLong(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterSparseArraySource.java"); final File classFile = new File(className); List lines = FileUtils.readLines(classFile, Charset.defaultCharset()); @@ -1134,7 +1134,7 @@ private static List addLongToBoxedAdapter( } private static void replicateBooleanSparseArraySource() throws IOException { - final String booleanPath = charToBooleanAsByte( + final String booleanPath = charToBooleanAsByte(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterSparseArraySource.java", Collections.emptyMap()); final File booleanFile = new File(booleanPath); @@ -1480,7 +1480,7 @@ private static void replicateBooleanSparseArraySource() throws IOException { } private static void replicateObjectSparseArraySource() throws IOException { - final String objectPath = charToObject( + final String objectPath = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/CharacterSparseArraySource.java"); final File objectFile = new File(objectPath); List lines = FileUtils.readLines(objectFile, Charset.defaultCharset()); @@ -1553,8 +1553,8 @@ private static void replicateObjectSparseArraySource() throws IOException { } private static void replicateOneOrN() throws IOException { - charToAll("engine/table/src/main/java/io/deephaven/engine/table/impl/sources/sparse/CharOneOrN.java"); - final String objectOneOrNPath = charToObject( + charToAll(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/sparse/CharOneOrN.java"); + final String objectOneOrNPath = charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/sources/sparse/CharOneOrN.java"); final File oneOrNFile = new File(objectOneOrNPath); List lines = FileUtils.readLines(oneOrNFile, Charset.defaultCharset()); diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateStampKernel.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateStampKernel.java index 353f8b42996..5aac8171ea5 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateStampKernel.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateStampKernel.java @@ -1,8 +1,9 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; +import io.deephaven.replication.ReplicationUtils; import org.apache.commons.io.FileUtils; import org.jetbrains.annotations.NotNull; @@ -11,26 +12,29 @@ import java.nio.charset.Charset; import java.util.List; import java.util.stream.Collectors; +import java.util.stream.Stream; import static io.deephaven.replication.ReplicatePrimitiveCode.*; import static io.deephaven.replication.ReplicationUtils.globalReplacements; public class ReplicateStampKernel { + private static final String TASK = "replicateStampKernel"; + public static void main(String[] args) throws IOException { final String charStampPath = "engine/table/src/main/java/io/deephaven/engine/table/impl/join/stamp/CharStampKernel.java"; final String charNoExactStampPath = "engine/table/src/main/java/io/deephaven/engine/table/impl/join/stamp/CharNoExactStampKernel.java"; - final List stampKernels = charToAllButBoolean(charStampPath); - final List noExactStampKernels = charToAllButBoolean(charNoExactStampPath); + final List stampKernels = charToAllButBoolean(TASK, charStampPath); + final List noExactStampKernels = charToAllButBoolean(TASK, charNoExactStampPath); stampKernels.addAll(noExactStampKernels); stampKernels.add(charStampPath); stampKernels.add(charNoExactStampPath); - final String objectStamp = charToObject(charStampPath); + final String objectStamp = charToObject(TASK, charStampPath); fixupObjectStamp(objectStamp); - final String objectNoExactStamp = charToObject(charNoExactStampPath); + final String objectNoExactStamp = charToObject(TASK, charNoExactStampPath); fixupObjectStamp(objectNoExactStamp); stampKernels.add(objectStamp); @@ -72,8 +76,14 @@ private static void invertSense(String path, String descendingPath) throws IOExc private static List ascendingNameToDescendingName(String path, List lines) { final String className = new File(path).getName().replaceAll(".java$", ""); final String newName = className.replace("StampKernel", "ReverseStampKernel"); - // we should skip the replicate header - return globalReplacements(3, lines, className, newName); + + // Skip, re-add file header + lines = Stream.concat( + ReplicationUtils.fileHeaderStream(TASK, ReplicationUtils.className(path)), + lines.stream().dropWhile(line -> line.startsWith("//")) + ).collect(Collectors.toList()); + + return globalReplacements(lines, className, newName); } private static void fixupObjectStamp(String objectPath) throws IOException { diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateTableLocationKey.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateTableLocationKey.java index b4fd25d9b9e..06d4425b7be 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateTableLocationKey.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateTableLocationKey.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import java.io.IOException; @@ -22,6 +22,7 @@ public static void main(final String[] args) throws IOException { {"file", "uri"}, {"File", "URI"}, }; - replaceAll(FILE_TABLE_LOCATION_KEY_PATH, URI_TABLE_LOCATION_KEY_PATH, null, NO_EXCEPTIONS, pairs); + replaceAll("replicateTableLocationKey", FILE_TABLE_LOCATION_KEY_PATH, URI_TABLE_LOCATION_KEY_PATH, null, + NO_EXCEPTIONS, pairs); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateToPage.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateToPage.java index 745e324ee11..778618907cd 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateToPage.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateToPage.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import java.io.IOException; @@ -14,10 +14,10 @@ public class ReplicateToPage { public static void main(String... args) throws IOException { - intToLongAndFloatingPoints( + intToLongAndFloatingPoints("replicateToPage", "extensions/parquet/table/src/main/java/io/deephaven/parquet/table/pagestore/topage/ToIntPage.java", "interface"); - charToShortAndByte( + charToShortAndByte("replicateToPage", "extensions/parquet/table/src/main/java/io/deephaven/parquet/table/pagestore/topage/ToCharPageFromInt.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateUnboxerKernel.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateUnboxerKernel.java index 1073c56793e..6647319e4dc 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateUnboxerKernel.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateUnboxerKernel.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.replication.ReplicatePrimitiveCode; @@ -9,7 +9,7 @@ public class ReplicateUnboxerKernel { public static void main(String[] args) throws IOException { - ReplicatePrimitiveCode.charToAllButBoolean( + ReplicatePrimitiveCode.charToAllButBoolean("replicateUnboxerKernel", "engine/table/src/main/java/io/deephaven/engine/table/impl/util/unboxer/CharUnboxer.java"); } } diff --git a/replication/static/src/main/java/io/deephaven/replicators/ReplicateUpdateBy.java b/replication/static/src/main/java/io/deephaven/replicators/ReplicateUpdateBy.java index f5b317fea00..15d8f242c16 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/ReplicateUpdateBy.java +++ b/replication/static/src/main/java/io/deephaven/replicators/ReplicateUpdateBy.java @@ -16,6 +16,8 @@ import static io.deephaven.replication.ReplicationUtils.*; public class ReplicateUpdateBy { + private static final String TASK = "replicateUpdateBy"; + public static void main(String[] args) throws IOException { final String[] exemptions = new String[] { "long singletonGroup = QueryConstants.NULL_LONG", @@ -28,7 +30,7 @@ public static void main(String[] args) throws IOException { "long getFirstReprocessKey" }; - List files = ReplicatePrimitiveCode.charToAllButBoolean( + List files = ReplicatePrimitiveCode.charToAllButBoolean(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/internal/BaseCharUpdateByOperator.java", exemptions); for (final String f : files) { @@ -39,13 +41,13 @@ public static void main(String[] args) throws IOException { fixupByteBase(f); } } - String objectResult = ReplicatePrimitiveCode.charToObject( + String objectResult = ReplicatePrimitiveCode.charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/internal/BaseCharUpdateByOperator.java"); fixupStandardObject(objectResult, "BaseObjectUpdateByOperator", true, "this\\(pair, affectingColumns, null, 0, 0, false\\);", "this(pair, affectingColumns, null, 0, 0, false, colType);"); - files = ReplicatePrimitiveCode.charToAll( + files = ReplicatePrimitiveCode.charToAll(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/fill/CharFillByOperator.java"); for (final String f : files) { if (f.contains("Int")) { @@ -59,7 +61,7 @@ public static void main(String[] args) throws IOException { } } - objectResult = ReplicatePrimitiveCode.charToObject( + objectResult = ReplicatePrimitiveCode.charToObject(TASK, "engine/table/src/main/java/io/deephaven/engine/table/impl/updateby/fill/CharFillByOperator.java"); fixupStandardObject(objectResult, "ObjectFillByOperator", false, "super\\(pair, new String\\[\\] \\{ pair.rightColumn \\}\\);", @@ -68,7 +70,7 @@ public static void main(String[] args) throws IOException { "public ObjectChunk floatLines = FileUtils.readLines(floatFile, Charset.defaultCharset()); floatLines = ReplicationUtils.simpleFixup(floatLines, "ElementEquals", @@ -32,7 +33,7 @@ public static void main(String[] args) throws IOException { "Float.floatToIntBits(aIterator.nextFloat()) != Float.floatToIntBits(bIterator.nextFloat())"); FileUtils.writeLines(floatFile, floatLines); - final String doublePath = ReplicatePrimitiveCode.charToDouble(charVectorJavaPath, serialVersionUIDs); + final String doublePath = ReplicatePrimitiveCode.charToDouble(TASK, charVectorJavaPath, serialVersionUIDs); final File doubleFile = new File(doublePath); List doubleLines = FileUtils.readLines(doubleFile, Charset.defaultCharset()); doubleLines = ReplicationUtils.simpleFixup(doubleLines, "ElementEquals", @@ -40,13 +41,13 @@ public static void main(String[] args) throws IOException { "Double.doubleToLongBits(aIterator.nextDouble()) != Double.doubleToLongBits(bIterator.nextDouble())"); FileUtils.writeLines(doubleFile, doubleLines); - ReplicatePrimitiveCode.charToAllButBoolean( + ReplicatePrimitiveCode.charToAllButBoolean(TASK, "engine/vector/src/main/java/io/deephaven/vector/CharVectorDirect.java", serialVersionUIDs); - ReplicatePrimitiveCode.charToAllButBoolean( + ReplicatePrimitiveCode.charToAllButBoolean(TASK, "engine/vector/src/main/java/io/deephaven/vector/CharVectorSlice.java", serialVersionUIDs); - ReplicatePrimitiveCode.charToAllButBoolean( + ReplicatePrimitiveCode.charToAllButBoolean(TASK, "engine/vector/src/main/java/io/deephaven/vector/CharSubVector.java", serialVersionUIDs); } diff --git a/replication/static/src/main/java/io/deephaven/replicators/TupleCodeGenerator.java b/replication/static/src/main/java/io/deephaven/replicators/TupleCodeGenerator.java index dcd42713205..17436d3c9d9 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/TupleCodeGenerator.java +++ b/replication/static/src/main/java/io/deephaven/replicators/TupleCodeGenerator.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.util.text.Indenter; diff --git a/replication/static/src/main/java/io/deephaven/replicators/TupleSourceCodeGenerator.java b/replication/static/src/main/java/io/deephaven/replicators/TupleSourceCodeGenerator.java index c271a6f6a0a..1ee0f242dbc 100644 --- a/replication/static/src/main/java/io/deephaven/replicators/TupleSourceCodeGenerator.java +++ b/replication/static/src/main/java/io/deephaven/replicators/TupleSourceCodeGenerator.java @@ -1,9 +1,10 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replicators; import io.deephaven.base.ClassUtil; +import io.deephaven.replication.ReplicationUtils; import io.deephaven.util.text.Indenter; import io.deephaven.util.type.TypeUtils; import org.jetbrains.annotations.NotNull; @@ -245,6 +246,8 @@ private String generateTwoColumnTupleSource(@NotNull final String className, @No final String[] extraImports = new String[] {TupleCodeGenerator.getTupleImport(tupleClassName), TWO_COLUMN_FACTORY_NAME}; + code.append(ReplicationUtils.fileHeaderString("replicateTupleSources", TupleSourceCodeGenerator.class.getSimpleName())); + code.append("package ").append(OUTPUT_PACKAGE).append(';').append(NEW_LINE); code.append(NEW_LINE); @@ -264,8 +267,6 @@ private String generateTwoColumnTupleSource(@NotNull final String className, @No code.append("/**").append(NEW_LINE); code.append(" *

{@link TupleSource} that produces key column values from {@link ColumnSource} types ") .append(sourceClass1Name).append(" and ").append(sourceClass2Name).append('.').append(NEW_LINE); - code.append(" *

Generated by ").append(TupleSourceCodeGenerator.class.getName()).append(".") - .append(NEW_LINE); code.append(" */").append(NEW_LINE); code.append("@SuppressWarnings({\"unused\", \"WeakerAccess\"})").append(NEW_LINE); code.append("public class ").append(className).append(" extends AbstractTupleSource<").append(tupleClassName) @@ -511,6 +512,8 @@ private String generateThreeColumnTupleSource(@NotNull final String className, final String[] extraImports = new String[] {TupleCodeGenerator.getTupleImport(tupleClassName), "io.deephaven.engine.table.impl.tuplesource.ThreeColumnTupleSourceFactory"}; + code.append(ReplicationUtils.fileHeaderString("replicateTupleSources", TupleSourceCodeGenerator.class.getSimpleName())); + code.append("package ").append(OUTPUT_PACKAGE).append(';').append(NEW_LINE); code.append(NEW_LINE); @@ -531,8 +534,6 @@ private String generateThreeColumnTupleSource(@NotNull final String className, code.append(" *

{@link TupleSource} that produces key column values from {@link ColumnSource} types ") .append(sourceClass1Name).append(", ").append(sourceClass2Name).append(", and ") .append(sourceClass3Name).append('.').append(NEW_LINE); - code.append(" *

Generated by ").append(TupleSourceCodeGenerator.class.getName()).append(".") - .append(NEW_LINE); code.append(" */").append(NEW_LINE); code.append("@SuppressWarnings({\"unused\", \"WeakerAccess\"})").append(NEW_LINE); code.append("public class ").append(className).append(" extends AbstractTupleSource<").append(tupleClassName) diff --git a/replication/util/src/main/java/io/deephaven/replication/ReplicatePrimitiveCode.java b/replication/util/src/main/java/io/deephaven/replication/ReplicatePrimitiveCode.java index 314ea9ff394..921601649ad 100644 --- a/replication/util/src/main/java/io/deephaven/replication/ReplicatePrimitiveCode.java +++ b/replication/util/src/main/java/io/deephaven/replication/ReplicatePrimitiveCode.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replication; import io.deephaven.base.verify.Require; @@ -12,12 +12,14 @@ import java.util.List; import java.util.Map; +import static io.deephaven.replication.ReplicationUtils.className; import static io.deephaven.replication.ReplicationUtils.findNoLocateRegions; import static io.deephaven.replication.ReplicationUtils.replaceRegion; public class ReplicatePrimitiveCode { - private static String replicateCodeBasedOnChar(String sourceClassJavaPath, Map serialVersionUIDs, + private static String replicateCodeBasedOnChar(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String[] exemptions, String upperCharacterReplace, String upperCharReplace, String characterReplace, String charReplace, String allCapsCharReplace) throws IOException { String[][] pairs = new String[][] { @@ -27,10 +29,11 @@ private static String replicateCodeBasedOnChar(String sourceClassJavaPath, Map serialVersionUIDs, + private static String replicateCodeBasedOnInt(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String[] exemptions, String upperCharacterReplace, String upperCharReplace, String characterReplace, String charReplace, String allCapsCharReplace) throws IOException { String[][] pairs = new String[][] { @@ -40,10 +43,11 @@ private static String replicateCodeBasedOnInt(String sourceClassJavaPath, Map serialVersionUIDs, + private static String replicateCodeBasedOnShort(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String[] exemptions, String upperCharacterReplace, String charReplace, String allCapsCharReplace, String[]... extraPairs) throws IOException { final String[][] pairs; @@ -59,10 +63,11 @@ private static String replicateCodeBasedOnShort(String sourceClassJavaPath, Map< pairs[extraPairsLength] = new String[] {"Short", upperCharacterReplace}; pairs[extraPairsLength + 1] = new String[] {"short", charReplace}; pairs[extraPairsLength + 2] = new String[] {"SHORT", allCapsCharReplace}; - return replaceAll(sourceClassJavaPath, serialVersionUIDs, exemptions, pairs); + return replaceAll(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, pairs); } - private static void replicateCodeBasedOnFloat(String sourceClassJavaPath, Map serialVersionUIDs, + private static void replicateCodeBasedOnFloat(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String[] exemptions, String upperCharacterReplace, String charReplace, String allCapsCharReplace) throws IOException { String[][] pairs = new String[][] { @@ -70,70 +75,76 @@ private static void replicateCodeBasedOnFloat(String sourceClassJavaPath, Map serialVersionUIDs, + public static String charToBoolean(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnChar(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Boolean", "Boolean", "boolean", "boolean", "BOOLEAN"); } - public static String charToBooleanAsByte(String sourceClassJavaPath, Map serialVersionUIDs, + public static String charToBooleanAsByte(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnChar(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Boolean", "Boolean", "boolean", "byte", "BOOLEAN"); } - private static String charToObject(String sourceClassJavaPath, Map serialVersionUIDs, + private static String charToObject(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnChar(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Object", "Object", "Object", "Object", "OBJECT"); } - public static String charToByte(String sourceClassJavaPath, Map serialVersionUIDs, + public static String charToByte(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnChar(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Byte", "Byte", "byte", "byte", "BYTE"); } - public static String charToDouble(String sourceClassJavaPath, Map serialVersionUIDs, + public static String charToDouble(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnChar(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Double", "Double", "double", "double", "DOUBLE"); } - public static String charToFloat(String sourceClassJavaPath, Map serialVersionUIDs, + public static String charToFloat(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnChar(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Float", "Float", "float", "float", "FLOAT"); } - public static String charToInteger(String sourceClassJavaPath, Map serialVersionUIDs, + public static String charToInteger(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnChar(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Integer", "Int", "integer", "int", "INT"); } - public static String charToLong(String sourceClassJavaPath, Map serialVersionUIDs, + public static String charToLong(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnChar(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Long", "Long", "long", "long", "LONG"); } - public static String charToInstant(String sourceClassJavaPath, Map serialVersionUIDs, + public static String charToInstant(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnChar(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Instant", "Instant", "Instant", "Instant", "INSTANT"); } - public static String charToShort(String sourceClassJavaPath, Map serialVersionUIDs, + public static String charToShort(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnChar(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Short", "Short", "short", "short", "SHORT"); } - public static String charLongToLongInt(String sourceClassJavaPath, String... exemptions) + public static String charLongToLongInt(String gradleTask, String sourceClassJavaPath, String... exemptions) throws IOException { final String[][] pairs = new String[][] { // these happen in order, so we want to turn our longs to ints first, then do char to long, we can't @@ -149,10 +160,11 @@ public static String charLongToLongInt(String sourceClassJavaPath, String... exe {"character", "long"}, {"CHAR", "LONG"} }; - return replaceAll(sourceClassJavaPath, null, exemptions, pairs); + return replaceAll(gradleTask, sourceClassJavaPath, null, exemptions, pairs); } - public static String longToInt(String sourceClassJavaPath, String... exemptions) throws IOException { + public static String longToInt(String gradleTask, String sourceClassJavaPath, String... exemptions) + throws IOException { final String[][] pairs = new String[][] { // these happen in order, so we want to turn our longs to ints first, then do char to long, we can't // actually discriminate between "Long" as text and "Long" as a type, @@ -162,10 +174,11 @@ public static String longToInt(String sourceClassJavaPath, String... exemptions) {"long", "int"}, {"LONG", "INT"}, }; - return replaceAll(sourceClassJavaPath, null, exemptions, pairs); + return replaceAll(gradleTask, sourceClassJavaPath, null, exemptions, pairs); } - public static String longToByte(String sourceClassJavaPath, String... exemptions) throws IOException { + public static String longToByte(String gradleTask, String sourceClassJavaPath, String... exemptions) + throws IOException { final String[][] pairs = new String[][] { // these happen in order, so we want to turn our longs to ints first, then do char to long, we can't // actually discriminate between "Long" as text and "Long" as a type, @@ -175,10 +188,10 @@ public static String longToByte(String sourceClassJavaPath, String... exemptions {"long", "byte"}, {"LONG", "BYTE"}, }; - return replaceAll(sourceClassJavaPath, null, exemptions, pairs); + return replaceAll(gradleTask, sourceClassJavaPath, null, exemptions, pairs); } - public static String charLongToIntInt(String sourceClassJavaPath, String... exemptions) + public static String charLongToIntInt(String gradleTask, String sourceClassJavaPath, String... exemptions) throws IOException { final String[][] pairs = new String[][] { // these happen in order, so we want to turn our longs to ints first, then do char to long, we can't @@ -194,298 +207,324 @@ public static String charLongToIntInt(String sourceClassJavaPath, String... exem {"character", "int"}, {"CHAR", "INT"} }; - return replaceAll(sourceClassJavaPath, null, exemptions, pairs); + return replaceAll(gradleTask, sourceClassJavaPath, null, exemptions, pairs); } - public static String intToObject(String sourceClassJavaPath, String... exemptions) throws IOException { - return replicateCodeBasedOnInt(sourceClassJavaPath, null, exemptions, + public static String intToObject(String gradleTask, String sourceClassJavaPath, String... exemptions) + throws IOException { + return replicateCodeBasedOnInt(gradleTask, sourceClassJavaPath, null, exemptions, "Object", "Object", "Object", "Object", "OBJECT"); } - private static String intToObject(String sourceClassJavaPath, Map serialVersionUIDs, + private static String intToObject(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnInt(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnInt(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Object", "Object", "Object", "Object", "OBJECT"); } - public static String intToChar(String sourceClassJavaPath, Map serialVersionUIDs, + public static String intToChar(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnInt(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnInt(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Character", "Char", "char", "char", "CHAR"); } - public static String intToByte(String sourceClassJavaPath, Map serialVersionUIDs, + public static String intToByte(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnInt(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnInt(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Byte", "Byte", "byte", "byte", "BYTE"); } - public static String intToDouble(String sourceClassJavaPath, Map serialVersionUIDs, + public static String intToDouble(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnInt(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnInt(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Double", "Double", "double", "double", "DOUBLE"); } - public static String intToFloat(String sourceClassJavaPath, Map serialVersionUIDs, + public static String intToFloat(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnInt(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnInt(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Float", "Float", "float", "float", "FLOAT"); } - public static String intToLong(String sourceClassJavaPath, Map serialVersionUIDs, + public static String intToLong(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnInt(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnInt(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Long", "Long", "long", "long", "LONG"); } - public static String intToShort(String sourceClassJavaPath, Map serialVersionUIDs, + public static String intToShort(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnInt(sourceClassJavaPath, serialVersionUIDs, exemptions, + return replicateCodeBasedOnInt(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Short", "Short", "short", "short", "SHORT"); } - private static String shortToByte(String sourceClassJavaPath, Map serialVersionUIDs, + private static String shortToByte(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnShort(sourceClassJavaPath, serialVersionUIDs, exemptions, "Byte", "byte", "BYTE"); + return replicateCodeBasedOnShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Byte", "byte", + "BYTE"); } - private static String shortToDouble(String sourceClassJavaPath, Map serialVersionUIDs, + private static String shortToDouble(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnShort(sourceClassJavaPath, serialVersionUIDs, exemptions, "Double", "double", + return replicateCodeBasedOnShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Double", + "double", "DOUBLE"); } - private static String shortToFloat(String sourceClassJavaPath, Map serialVersionUIDs, + private static String shortToFloat(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnShort(sourceClassJavaPath, serialVersionUIDs, exemptions, "Float", "float", "FLOAT"); + return replicateCodeBasedOnShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Float", + "float", "FLOAT"); } - private static String shortToInteger(String sourceClassJavaPath, Map serialVersionUIDs, + private static String shortToInteger(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnShort(sourceClassJavaPath, serialVersionUIDs, exemptions, "Integer", "int", "INT", + return replicateCodeBasedOnShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Integer", + "int", "INT", new String[][] {{"ShortVector", "IntVector"}}); } - private static String shortToLong(String sourceClassJavaPath, Map serialVersionUIDs, + private static String shortToLong(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - return replicateCodeBasedOnShort(sourceClassJavaPath, serialVersionUIDs, exemptions, "Long", "long", "LONG", + return replicateCodeBasedOnShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Long", "long", + "LONG", new String[][] {{"Integer.signum", "Long.signum"}}); } - private static void floatToDouble(String sourceClassJavaPath, Map serialVersionUIDs, + private static void floatToDouble(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - replicateCodeBasedOnFloat(sourceClassJavaPath, serialVersionUIDs, exemptions, "Double", "double", "DOUBLE"); + replicateCodeBasedOnFloat(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions, "Double", "double", + "DOUBLE"); } - public static List charToAll(String sourceClassJavaPath, String... exemptions) + public static List charToAll(String gradleTask, String sourceClassJavaPath, String... exemptions) throws IOException { - return charToAll(sourceClassJavaPath, null, exemptions); + return charToAll(gradleTask, sourceClassJavaPath, null, exemptions); } - private static List charToAll(String sourceClassJavaPath, Map serialVersionUIDs, + private static List charToAll(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { final List results = new ArrayList<>(); - results.add(charToBoolean(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(charToByte(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(charToDouble(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(charToFloat(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(charToInteger(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(charToLong(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(charToShort(sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(charToBoolean(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(charToByte(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(charToDouble(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(charToFloat(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(charToInteger(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(charToLong(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(charToShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); return results; } - public static List charToIntegers(String sourceClassJavaPath, String... exemptions) + public static List charToIntegers(String gradleTask, String sourceClassJavaPath, String... exemptions) throws IOException { - return charToIntegers(sourceClassJavaPath, null, exemptions); + return charToIntegers(gradleTask, sourceClassJavaPath, null, exemptions); } - public static List charToAllButBoolean(String sourceClassJavaPath, String... exemptions) + public static List charToAllButBoolean(String gradleTask, String sourceClassJavaPath, String... exemptions) throws IOException { - return charToAllButBoolean(sourceClassJavaPath, null, exemptions); + return charToAllButBoolean(gradleTask, sourceClassJavaPath, null, exemptions); } - public static String charToByte(String sourceClassJavaPath, String... exemptions) throws IOException { - return charToByte(sourceClassJavaPath, null, exemptions); + public static String charToByte(String gradleTask, String sourceClassJavaPath, String... exemptions) + throws IOException { + return charToByte(gradleTask, sourceClassJavaPath, null, exemptions); } - public static String charToObject(String sourceClassJavaPath, String... exemptions) throws IOException { - return charToObject(sourceClassJavaPath, null, exemptions); + public static String charToObject(String gradleTask, String sourceClassJavaPath, String... exemptions) + throws IOException { + return charToObject(gradleTask, sourceClassJavaPath, null, exemptions); } - public static String charToBoolean(String sourceClassJavaPath, String... exemptions) throws IOException { - return charToBoolean(sourceClassJavaPath, null, exemptions); + public static String charToBoolean(String gradleTask, String sourceClassJavaPath, String... exemptions) + throws IOException { + return charToBoolean(gradleTask, sourceClassJavaPath, null, exemptions); } - public static String charToLong(String sourceClassJavaPath, String... exemptions) throws IOException { - return charToLong(sourceClassJavaPath, null, exemptions); + public static String charToLong(String gradleTask, String sourceClassJavaPath, String... exemptions) + throws IOException { + return charToLong(gradleTask, sourceClassJavaPath, null, exemptions); } - public static String charToInstant(String sourceClassJavaPath, String... exemptions) throws IOException { - return charToInstant(sourceClassJavaPath, null, exemptions); + public static String charToInstant(String gradleTask, String sourceClassJavaPath, String... exemptions) + throws IOException { + return charToInstant(gradleTask, sourceClassJavaPath, null, exemptions); } - public static void charToAllButBooleanAndLong(String sourceClassJavaPath, String... exemptions) + public static void charToAllButBooleanAndLong(String gradleTask, String sourceClassJavaPath, String... exemptions) throws IOException { - charToAllButBooleanAndLong(sourceClassJavaPath, null, exemptions); + charToAllButBooleanAndLong(gradleTask, sourceClassJavaPath, null, exemptions); } - public static List charToAllButBoolean(String sourceClassJavaPath, + public static List charToAllButBoolean(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { final List resultFiles = new ArrayList<>(); - resultFiles.add(charToByte(sourceClassJavaPath, serialVersionUIDs, exemptions)); - resultFiles.add(charToDouble(sourceClassJavaPath, serialVersionUIDs, exemptions)); - resultFiles.add(charToFloat(sourceClassJavaPath, serialVersionUIDs, exemptions)); - resultFiles.add(charToInteger(sourceClassJavaPath, serialVersionUIDs, exemptions)); - resultFiles.add(charToLong(sourceClassJavaPath, serialVersionUIDs, exemptions)); - resultFiles.add(charToShort(sourceClassJavaPath, serialVersionUIDs, exemptions)); + resultFiles.add(charToByte(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + resultFiles.add(charToDouble(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + resultFiles.add(charToFloat(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + resultFiles.add(charToInteger(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + resultFiles.add(charToLong(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + resultFiles.add(charToShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); return resultFiles; } - public static List charToIntegers(String sourceClassJavaPath, + public static List charToIntegers(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { final List resultFiles = new ArrayList<>(); - resultFiles.add(charToByte(sourceClassJavaPath, serialVersionUIDs, exemptions)); - resultFiles.add(charToShort(sourceClassJavaPath, serialVersionUIDs, exemptions)); - resultFiles.add(charToInteger(sourceClassJavaPath, serialVersionUIDs, exemptions)); - resultFiles.add(charToLong(sourceClassJavaPath, serialVersionUIDs, exemptions)); + resultFiles.add(charToByte(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + resultFiles.add(charToShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + resultFiles.add(charToInteger(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + resultFiles.add(charToLong(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); return resultFiles; } - private static void charToAllButBooleanAndLong(String sourceClassJavaPath, + private static void charToAllButBooleanAndLong(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - charToByte(sourceClassJavaPath, serialVersionUIDs, exemptions); - charToDouble(sourceClassJavaPath, serialVersionUIDs, exemptions); - charToFloat(sourceClassJavaPath, serialVersionUIDs, exemptions); - charToInteger(sourceClassJavaPath, serialVersionUIDs, exemptions); - charToShort(sourceClassJavaPath, serialVersionUIDs, exemptions); + charToByte(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); + charToDouble(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); + charToFloat(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); + charToInteger(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); + charToShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); } - public static List charToAllButBooleanAndByte(String sourceClassJavaPath, String... exemptions) + public static List charToAllButBooleanAndByte(String gradleTask, String sourceClassJavaPath, + String... exemptions) throws IOException { - return charToAllButBooleanAndByte(sourceClassJavaPath, null, exemptions); + return charToAllButBooleanAndByte(gradleTask, sourceClassJavaPath, null, exemptions); } - private static List charToAllButBooleanAndByte(String sourceClassJavaPath, + private static List charToAllButBooleanAndByte(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { final List files = new ArrayList<>(); - files.add(charToDouble(sourceClassJavaPath, serialVersionUIDs, exemptions)); - files.add(charToFloat(sourceClassJavaPath, serialVersionUIDs, exemptions)); - files.add(charToInteger(sourceClassJavaPath, serialVersionUIDs, exemptions)); - files.add(charToLong(sourceClassJavaPath, serialVersionUIDs, exemptions)); - files.add(charToShort(sourceClassJavaPath, serialVersionUIDs, exemptions)); + files.add(charToDouble(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + files.add(charToFloat(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + files.add(charToInteger(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + files.add(charToLong(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + files.add(charToShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); return files; } - public static List charToAllButBooleanAndFloats(String sourceClass, String... exemptions) + public static List charToAllButBooleanAndFloats(String gradleTask, String sourceClass, String... exemptions) throws IOException { - return charToAllButBooleanAndFloats(sourceClass, null, exemptions); + return charToAllButBooleanAndFloats(gradleTask, sourceClass, null, exemptions); } - public static void charToShortAndByte(String sourceClassJavaPath, String... exemptions) + public static void charToShortAndByte(String gradleTask, String sourceClassJavaPath, String... exemptions) throws IOException { - charToByte(sourceClassJavaPath, null, exemptions); - charToShort(sourceClassJavaPath, null, exemptions); + charToByte(gradleTask, sourceClassJavaPath, null, exemptions); + charToShort(gradleTask, sourceClassJavaPath, null, exemptions); } - public static List charToAllButBooleanAndFloats(String sourceClass, Map serialVersionUIDs, + public static List charToAllButBooleanAndFloats(String gradleTask, String sourceClass, + Map serialVersionUIDs, String... exemptions) throws IOException { final List files = new ArrayList<>(); - files.add(charToInteger(sourceClass, serialVersionUIDs, exemptions)); - files.add(charToByte(sourceClass, serialVersionUIDs, exemptions)); - files.add(charToLong(sourceClass, serialVersionUIDs, exemptions)); - files.add(charToShort(sourceClass, serialVersionUIDs, exemptions)); + files.add(charToInteger(gradleTask, sourceClass, serialVersionUIDs, exemptions)); + files.add(charToByte(gradleTask, sourceClass, serialVersionUIDs, exemptions)); + files.add(charToLong(gradleTask, sourceClass, serialVersionUIDs, exemptions)); + files.add(charToShort(gradleTask, sourceClass, serialVersionUIDs, exemptions)); return files; } - public static List shortToAllNumericals(String sourceClassJavaPath, Map serialVersionUIDs, + public static List shortToAllNumericals(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { final List results = new ArrayList<>(); - results.add(shortToByte(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(shortToDouble(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(shortToFloat(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(shortToInteger(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(shortToLong(sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(shortToByte(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(shortToDouble(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(shortToFloat(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(shortToInteger(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(shortToLong(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); return results; } - public static void intToAllNumericals(String sourceClassJavaPath, Map serialVersionUIDs, + public static void intToAllNumericals(String gradleTask, String sourceClassJavaPath, + Map serialVersionUIDs, String... exemptions) throws IOException { - intToByte(sourceClassJavaPath, serialVersionUIDs, exemptions); - intToDouble(sourceClassJavaPath, serialVersionUIDs, exemptions); - intToFloat(sourceClassJavaPath, serialVersionUIDs, exemptions); - intToLong(sourceClassJavaPath, serialVersionUIDs, exemptions); - intToShort(sourceClassJavaPath, serialVersionUIDs, exemptions); + intToByte(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); + intToDouble(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); + intToFloat(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); + intToLong(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); + intToShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); } - public static List intToAllButBoolean(String sourceClassJavaPath, String... exemptions) + public static List intToAllButBoolean(String gradleTask, String sourceClassJavaPath, String... exemptions) throws IOException { - return intToAllButBoolean(sourceClassJavaPath, null, exemptions); + return intToAllButBoolean(gradleTask, sourceClassJavaPath, null, exemptions); } - public static List intToAllButBoolean(String sourceClassJavaPath, + public static List intToAllButBoolean(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { final List results = new ArrayList<>(); - results.add(intToChar(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(intToByte(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(intToLong(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(intToShort(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(intToDouble(sourceClassJavaPath, serialVersionUIDs, exemptions)); - results.add(intToFloat(sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(intToChar(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(intToByte(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(intToLong(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(intToShort(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(intToDouble(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + results.add(intToFloat(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); return results; } - public static List shortToAllIntegralTypes(String sourceClass, String... exemptions) throws IOException { - return shortToAllIntegralTypes(sourceClass, null, exemptions); + public static List shortToAllIntegralTypes(String gradleTask, String sourceClass, String... exemptions) + throws IOException { + return shortToAllIntegralTypes(gradleTask, sourceClass, null, exemptions); } - private static List shortToAllIntegralTypes(String sourceClass, Map serialVersionUIDs, + private static List shortToAllIntegralTypes(String gradleTask, String sourceClass, + Map serialVersionUIDs, String... exemptions) throws IOException { final List results = new ArrayList<>(); - results.add(shortToByte(sourceClass, serialVersionUIDs, exemptions)); - results.add(shortToInteger(sourceClass, serialVersionUIDs, exemptions)); - results.add(shortToLong(sourceClass, serialVersionUIDs, exemptions)); + results.add(shortToByte(gradleTask, sourceClass, serialVersionUIDs, exemptions)); + results.add(shortToInteger(gradleTask, sourceClass, serialVersionUIDs, exemptions)); + results.add(shortToLong(gradleTask, sourceClass, serialVersionUIDs, exemptions)); return results; } - public static void floatToAllFloatingPoints(String sourceClassJavaPath, String... exemptions) + public static void floatToAllFloatingPoints(String gradleTask, String sourceClassJavaPath, String... exemptions) throws IOException { - floatToAllFloatingPoints(sourceClassJavaPath, null, exemptions); + floatToAllFloatingPoints(gradleTask, sourceClassJavaPath, null, exemptions); } - private static void floatToAllFloatingPoints(String sourceClassJavaPath, + private static void floatToAllFloatingPoints(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { - floatToDouble(sourceClassJavaPath, serialVersionUIDs, exemptions); + floatToDouble(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions); } private static String getResultClassPathFromSourceClassPath(String sourceClassJavaPath, String[] exemptions, String[]... pairs) { - final String sourceClassName = className(sourceClassJavaPath); + final String sourceClassName = ReplicationUtils.className(sourceClassJavaPath); final String resultClassName = replaceAllInternal(sourceClassName, null, exemptions, pairs); final String resultClassJavaPath = basePath(sourceClassJavaPath) + '/' + resultClassName + ".java"; return resultClassJavaPath; } - public static String replaceAll(String sourceClassJavaPath, Map serialVersionUIDs, + public static String replaceAll(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String[] exemptions, String[]... pairs) throws IOException { final String resultClassJavaPath = getResultClassPathFromSourceClassPath(sourceClassJavaPath, exemptions, pairs); - return replaceAll(sourceClassJavaPath, resultClassJavaPath, serialVersionUIDs, exemptions, pairs); + return replaceAll(gradleTask, sourceClassJavaPath, resultClassJavaPath, serialVersionUIDs, exemptions, pairs); } - public static String replaceAll(String sourceClassJavaPath, String resultClassJavaPath, + public static String replaceAll(String gradleTask, String sourceClassJavaPath, String resultClassJavaPath, Map serialVersionUIDs, String[] exemptions, String[]... pairs) throws IOException { if (resultClassJavaPath == null || resultClassJavaPath.isEmpty()) { resultClassJavaPath = getResultClassPathFromSourceClassPath(sourceClassJavaPath, exemptions, pairs); } - final String resultClassName = className(resultClassJavaPath); + final String resultClassName = ReplicationUtils.className(resultClassJavaPath); final String resultClassPackageName = packageName(resultClassJavaPath); final String fullResultClassName = resultClassPackageName + '.' + resultClassName; final Long serialVersionUID = serialVersionUIDs == null ? null : serialVersionUIDs.get(fullResultClassName); @@ -512,24 +551,13 @@ public static String replaceAll(String sourceClassJavaPath, String resultClassJa PrintWriter out = new PrintWriter(resultClassJavaPath); - // preserve the first comment of the file; typically the copyright - if (body.startsWith("/*")) { - final int idx = body.indexOf("*/"); - if (idx != -1 && body.length() >= idx + 3) { - out.print(body.substring(0, idx + 3)); - body = body.substring(idx + 3); - } + // Remove the first comment block of the file, pruning prev copyright header (and sometimes generated header) so + // we write our own + while (body.startsWith("//")) { + body = body.substring(body.indexOf("\n", 2) + 1); } - out.println("/*"); - out.println( - " * ---------------------------------------------------------------------------------------------------------------------"); - out.println(" * AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY - for any changes edit " - + className(sourceClassJavaPath) + " and regenerate"); - out.println( - " * ---------------------------------------------------------------------------------------------------------------------"); - out.println( - " */"); + out.print(ReplicationUtils.fileHeaderString(gradleTask, className(sourceClassJavaPath))); out.print(body); out.flush(); @@ -561,15 +589,9 @@ public static String packageName(@NotNull final String sourceClassJavaPath) { return packagePath.replace('/', '.'); } - @NotNull - public static String className(@NotNull final String sourceClassJavaPath) { - final String javaFileName = javaFileName(sourceClassJavaPath); - return javaFileName.substring(0, javaFileName.length() - ".java".length()); - } - @NotNull public static String fullClassName(@NotNull final String sourceClassJavaPath) { - return packageName(sourceClassJavaPath) + '.' + className(sourceClassJavaPath); + return packageName(sourceClassJavaPath) + '.' + ReplicationUtils.className(sourceClassJavaPath); } public static String replaceAllInternal(String inputText, Long serialVersionUID, String[] exemptions, @@ -601,19 +623,20 @@ public static String replaceAllInternal(String inputText, Long serialVersionUID, return result; } - public static List intToLongAndFloatingPoints(String sourceClassJavaPath, + public static List intToLongAndFloatingPoints(String gradleTask, String sourceClassJavaPath, Map serialVersionUIDs, String... exemptions) throws IOException { final List files = new ArrayList<>(); - files.add(intToDouble(sourceClassJavaPath, serialVersionUIDs, exemptions)); - files.add(intToFloat(sourceClassJavaPath, serialVersionUIDs, exemptions)); - files.add(intToLong(sourceClassJavaPath, serialVersionUIDs, exemptions)); + files.add(intToDouble(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + files.add(intToFloat(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); + files.add(intToLong(gradleTask, sourceClassJavaPath, serialVersionUIDs, exemptions)); return files; } - public static List intToLongAndFloatingPoints(String sourceClassJavaPath, String... exemptions) + public static List intToLongAndFloatingPoints(String gradleTask, String sourceClassJavaPath, + String... exemptions) throws IOException { - return intToLongAndFloatingPoints(sourceClassJavaPath, null, exemptions); + return intToLongAndFloatingPoints(gradleTask, sourceClassJavaPath, null, exemptions); } } diff --git a/replication/util/src/main/java/io/deephaven/replication/ReplicationUtils.java b/replication/util/src/main/java/io/deephaven/replication/ReplicationUtils.java index e1300b73661..9816281c31f 100644 --- a/replication/util/src/main/java/io/deephaven/replication/ReplicationUtils.java +++ b/replication/util/src/main/java/io/deephaven/replication/ReplicationUtils.java @@ -1,6 +1,6 @@ -/** - * Copyright (c) 2016-2022 Deephaven Data Labs and Patent Pending - */ +// +// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending +// package io.deephaven.replication; import org.apache.commons.io.FileUtils; @@ -261,20 +261,14 @@ private static Pattern constructRegionEndPattern(String region) { return Pattern.compile("//\\s*endregion " + region + "(?=\\s|$)"); } - public static List globalReplacements(int skip, List lines, String... replacements) { + public static List globalReplacements(List lines, String... replacements) { if (replacements.length == 0 || replacements.length % 2 != 0) { throw new IllegalArgumentException("Bad replacement length: " + replacements.length); } - final Stream startStream = lines.subList(0, skip).stream(); - final Stream replacementStream = lines.subList(skip, lines.size()).stream(); - return Stream.concat(startStream, replacementStream.map(x -> doLineReplacements(x, replacements))) + return lines.stream().map(x -> doLineReplacements(x, replacements)) .collect(Collectors.toList()); } - public static List globalReplacements(List lines, String... replacements) { - return globalReplacements(0, lines, replacements); - } - public static List addImport(List lines, Class... importClasses) { return addImport(lines, Arrays.stream(importClasses).map(c -> "import " + c.getCanonicalName() + ";").toArray(String[]::new)); @@ -424,4 +418,27 @@ public static Map> findNoLocateRegions(final String replica return noReplaceRegions; } + + public static String fileHeaderString(String gradleTask, String sourceClassJavaPath) { + Stream fileHeaderStream = fileHeaderStream(gradleTask, sourceClassJavaPath); + return fileHeaderStream.collect(Collectors.joining("\n")); + } + + public static Stream fileHeaderStream(String gradleTask, String sourceClassJavaPath) { + return Stream.of("//", + "// Copyright (c) 2016-2024 Deephaven Data Labs and Patent Pending", + "//", + "// ****** AUTO-GENERATED CLASS - DO NOT EDIT MANUALLY", + "// ****** Edit " + sourceClassJavaPath + " and run \"./gradlew " + gradleTask + + "\" to regenerate", + "//", + "// @formatter:off", + ""); + } + + @NotNull + public static String className(@NotNull final String sourceClassJavaPath) { + final String javaFileName = ReplicatePrimitiveCode.javaFileName(sourceClassJavaPath); + return javaFileName.substring(0, javaFileName.length() - ".java".length()); + } }