Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Internal - Enforce code style - #493

Merged
cleverchuk merged 2 commits into
mainfrom
cc/NH-137065
May 20, 2026
Merged

cleverchuk merged 2 commits into
mainfrom
cc/NH-137065

Conversation

@cleverchuk

Copy link
Copy Markdown
Contributor

Summary

Enforce Google Java Style naming conventions via Checkstyle's AbbreviationAsWordInName rule, and fix all existing violations across the codebase. This ensures acronyms/abbreviations in identifiers are treated as words (e.g., getOpId instead of getOpID), making the naming consistent and machine-enforceable going forward.

Changes

Checkstyle configuration

  • Set severity to error (was warning) so violations fail the build.
  • Enabled ignoreStatic = false on AbbreviationAsWordInName to enforce the rule on static fields/constants.
  • Added a suppressions file to exempt vendored ebson code and logging stream classes that legitimately reference System.out/System.err.
  • Wired the suppressions file into the Gradle checkstyle configuration.

Identifier renames (abbreviation → camelCase word)

Classes:

  • UDPReporterUdpReporter
  • XTraceHeaderXtraceHeader
  • XorShiftRNGXorShiftRng
  • DevURandomSeedGeneratorDevUrandomSeedGenerator
  • XTraceOptionsResponseXtraceOptionsResponse

Methods/fields:

  • getOpID / setOpIDgetOpId / setOpId
  • getTaskID / setTaskIDgetTaskId / setTaskId
  • unsetTaskID / unsetOpIDunsetTaskId / unsetOpId

Code style fixes applied alongside the rule

  • Replaced 31 wildcard imports (.*) with explicit imports.
  • Split comma-separated static final declarations into one-per-line (e.g., Constants.java).
  • Added missing braces around single-line if bodies.
  • Filled in 92 empty @param/@return/@throws javadoc tags that checkstyle now flags.
  • Replaced comma-separated local variable declarations with individual statements.

Test fix (second commit)

  • SolarwindsAgentListenerTest: added @AfterEach teardown to reset the static agentEnabled field via MethodHandle, preventing test-order-dependent failures caused by shared mutable state.

Rationale

Checkstyle was previously configured as warning-only, meaning style drift accumulated silently. Promoting it to error ensures naming conventions are enforced at build time. The AbbreviationAsWordInName rule specifically targets the most common inconsistency in the codebase—acronym capitalization—which impacts readability and IDE discoverability (e.g., searching for "Udp" vs guessing "UDP").

Suppressions for vendored code avoid a large, low-value churn in third-party code that we don't want to maintain style for.

Test services data

  1. e-1712644058766987264
  2. e-1712643928659124224
  3. e-1742334541200846848
  4. e-1777406072376840192

@cleverchuk
cleverchuk requested review from a team as code owners May 20, 2026 16:59
Copilot AI review requested due to automatic review settings May 20, 2026 16:59

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR tightens and enforces Java code style across the repository by promoting Checkstyle violations to build-breaking errors and enabling stricter acronym/abbreviation naming via AbbreviationAsWordInName, then applying broad mechanical renames and style cleanups to bring the codebase into compliance.

Changes:

  • Enforce stricter Checkstyle (severity = error, enforce abbreviation rule for static members, add suppressions, wire suppressions into Gradle).
  • Rename acronym-heavy identifiers (classes/methods/fields) to word-style camelCase to satisfy AbbreviationAsWordInName.
  • Apply additional style fixes (explicit imports, braces, Javadoc tag descriptions, one-declaration-per-line) and a test teardown to prevent static state leakage.

Reviewed changes

Copilot reviewed 96 out of 96 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
libs/shared/src/test/java/com/solarwinds/opentelemetry/extensions/SolarwindsContextPropagatorTest.java Renames local variables to comply with abbreviation naming rule.
libs/shared/src/test/java/com/solarwinds/opentelemetry/extensions/SamplingUtilTest.java Updates method calls to renamed XtraceOptions factory and variable naming.
libs/shared/src/test/java/com/solarwinds/opentelemetry/extensions/ResponseHeaderCustomizerTest.java Replaces wildcard Mockito imports and renames test methods for abbreviation compliance.
libs/shared/src/test/java/com/solarwinds/opentelemetry/extensions/ModeStringToBooleanParserTest.java Replaces wildcard static imports with explicit assertions.
libs/shared/src/test/java/com/solarwinds/opentelemetry/extensions/LogFileStringParserTest.java Replaces wildcard static imports with explicit assertions.
libs/shared/src/test/java/com/solarwinds/opentelemetry/extensions/config/provider/ContextPropagatorComponentProviderTest.java Replaces wildcard static imports with explicit assertions.
libs/shared/src/test/java/com/solarwinds/opentelemetry/extensions/config/parser/yaml/TriggerTraceParserTest.java Replaces wildcard static imports with explicit assertions.
libs/shared/src/test/java/com/solarwinds/opentelemetry/extensions/config/parser/yaml/TracingModeParserTest.java Replaces wildcard static imports with explicit assertions.
libs/shared/src/test/java/com/solarwinds/opentelemetry/extensions/config/parser/yaml/StacktraceFilterParserTest.java Replaces wildcard static imports with explicit assertions.
libs/shared/src/test/java/com/solarwinds/opentelemetry/extensions/config/parser/yaml/SqlQueryMaxLengthParserTest.java Replaces wildcard static imports with explicit assertions.
libs/shared/src/main/java/com/solarwinds/opentelemetry/extensions/SolarwindsSampler.java Updates to renamed sampling response type (XtraceOptionsResponse).
libs/shared/src/main/java/com/solarwinds/opentelemetry/extensions/SolarwindsContextPropagator.java Updates to renamed XtraceOptions parsing factory method.
libs/shared/src/main/java/com/solarwinds/opentelemetry/extensions/config/provider/SharedConfigCustomizerProvider.java Renames caught exception var to ignored per Checkstyle config.
libs/sampling/src/test/java/com/solarwinds/joboe/sampling/XtraceOptionTest.java Replaces wildcard static imports with explicit assertions.
libs/sampling/src/test/java/com/solarwinds/joboe/sampling/XtraceOptionsTest.java Renames tests and updates calls/exception types to renamed APIs.
libs/sampling/src/test/java/com/solarwinds/joboe/sampling/XtraceOptionsResponseTest.java Updates response type and XtraceOptions factory usage.
libs/sampling/src/test/java/com/solarwinds/joboe/sampling/TraceDecisionUtilTest.java Updates helper method name and variable naming (THREAD_COUNT → threadCount, etc.).
libs/sampling/src/test/java/com/solarwinds/joboe/sampling/TokenBucketTest.java Replaces wildcard static imports with explicit assertions.
libs/sampling/src/test/java/com/solarwinds/joboe/sampling/SettingsManagerTest.java Removes printStackTrace and renames caught exception var to ignored.
libs/sampling/src/test/java/com/solarwinds/joboe/sampling/MetadataTest.java Updates renamed Metadata APIs and fixes helper method naming/annotation usage.
libs/sampling/src/main/java/com/solarwinds/joboe/sampling/XtraceOptionsResponse.java Renames public class and related types to satisfy abbreviation naming rule; replaces java.util.* imports.
libs/sampling/src/main/java/com/solarwinds/joboe/sampling/XtraceOptions.java Renames factory method and exception types; improves Javadoc tag content; adjusts equals formatting/braces.
libs/sampling/src/main/java/com/solarwinds/joboe/sampling/XtraceOption.java Renames logger constant, reorders helper method, and updates exception type names.
libs/sampling/src/main/java/com/solarwinds/joboe/sampling/XorShiftRng.java Renames RNG class/constructors to satisfy abbreviation naming rule.
libs/sampling/src/main/java/com/solarwinds/joboe/sampling/TraceDecisionUtil.java Renames parameters/locals for abbreviation compliance and updates Javadocs/bracing.
libs/sampling/src/main/java/com/solarwinds/joboe/sampling/TokenBucket.java Fills in missing Javadoc descriptions.
libs/sampling/src/main/java/com/solarwinds/joboe/sampling/SettingsManager.java Fills in missing Javadoc descriptions.
libs/sampling/src/main/java/com/solarwinds/joboe/sampling/SettingsFetcher.java Updates Javadoc formatting/paragraphs and list structure.
libs/sampling/src/main/java/com/solarwinds/joboe/sampling/SettingsArgChangeListener.java Clarifies generic type Javadoc.
libs/sampling/src/main/java/com/solarwinds/joboe/sampling/SettingsArg.java Fills in missing Javadoc descriptions.
libs/sampling/src/main/java/com/solarwinds/joboe/sampling/Settings.java Splits multi-constant declarations and fills in missing Javadoc descriptions.
libs/sampling/src/main/java/com/solarwinds/joboe/sampling/Metadata.java Renames task/op identifiers and related APIs; adjusts helper naming for abbreviation compliance.
libs/sampling/src/main/java/com/solarwinds/joboe/sampling/DevUrandomSeedGenerator.java Renames class to satisfy abbreviation naming rule.
libs/sampling/src/main/java/com/solarwinds/joboe/sampling/Constants.java Splits multi-constant declarations into one-per-line.
libs/logging/src/test/java/com/solarwinds/joboe/logging/TestLoggerProcess.java Removes printStackTrace and adds local CHECKSTYLE suppression for System.out.
libs/logging/src/test/java/com/solarwinds/joboe/logging/FileLoggerStreamTest.java Removes debug System.out output, adjusts field declarations, and adds local CHECKSTYLE suppression where needed.
libs/logging/src/main/java/com/solarwinds/joboe/logging/LogSetting.java Adds braces for Checkstyle compliance in equals.
libs/logging/src/main/java/com/solarwinds/joboe/logging/LoggerThreadFactory.java Avoids inline multi-declaration and updates local naming.
libs/logging/src/main/java/com/solarwinds/joboe/logging/FileLoggerStream.java Fills in missing Javadoc descriptions.
libs/lambda/src/test/java/com/solarwinds/opentelemetry/extensions/LambdaAgentListenerTest.java Renames test method to satisfy abbreviation naming rule.
libs/core/src/test/java/com/solarwinds/joboe/core/util/ServerHostInfoReaderTest.java Replaces wildcard java.io.* import with explicit imports.
libs/core/src/test/java/com/solarwinds/joboe/core/util/K8sReaderTest.java Updates test to use renamed K8sReader file location fields.
libs/core/src/test/java/com/solarwinds/joboe/core/TestRpcClient.java Removes printStackTrace and renames caught exception var to ignored.
libs/core/src/test/java/com/solarwinds/joboe/core/settings/SettingsUtilTest.java Replaces wildcard static imports and renames test method for abbreviation compliance.
libs/core/src/test/java/com/solarwinds/joboe/core/settings/PollingSettingsFetcherTest.java Expands wildcard imports, removes debug output, and improves Javadoc formatting.
libs/core/src/test/java/com/solarwinds/joboe/core/rpc/RpcClientTest.java Expands wildcard imports, removes debug output, and renames locals/constants for abbreviation compliance.
libs/core/src/test/java/com/solarwinds/joboe/core/rpc/grpc/GrpcClientTest.java Removes debug output, renames fields for abbreviation compliance, and renames caught exception var to ignored.
libs/core/src/test/java/com/solarwinds/joboe/core/ReporterFactoryTest.java Updates to renamed UdpReporter type.
libs/core/src/test/java/com/solarwinds/joboe/core/profiler/CircuitBreakerTest.java Converts block comment style to avoid Javadoc parsing issues.
libs/core/src/test/java/com/solarwinds/joboe/core/EventValueConverterTest.java Renames locals and test method names for abbreviation compliance.
libs/core/src/test/java/com/solarwinds/joboe/core/EventImplTest.java Updates renamed Metadata APIs, clarifies locals, and updates renamed W3C conversion method.
libs/core/src/test/java/com/solarwinds/joboe/core/AtomicEventReporterStatsTest.java Replaces wildcard static imports with explicit assertions.
libs/core/src/main/java/com/solarwinds/joboe/core/XtraceHeader.java Renames enum to satisfy abbreviation naming rule.
libs/core/src/main/java/com/solarwinds/joboe/core/util/TimeUtils.java Fills in missing Javadoc descriptions.
libs/core/src/main/java/com/solarwinds/joboe/core/util/TestUtils.java Replaces wildcard imports with explicit imports.
libs/core/src/main/java/com/solarwinds/joboe/core/util/SslUtils.java Expands wildcard imports, improves Javadoc, and renames helper method for abbreviation compliance.
libs/core/src/main/java/com/solarwinds/joboe/core/util/ServerHostInfoReader.java Renames locals/methods for abbreviation compliance; updates K8sReader constants and file-loc fields; improves Javadocs.
libs/core/src/main/java/com/solarwinds/joboe/core/util/JavaProcessUtils.java Renames locals for abbreviation compliance; improves Javadoc.
libs/core/src/main/java/com/solarwinds/joboe/core/util/HostInfoUtils.java Expands wildcard imports, adds braces for Checkstyle, and improves Javadoc.
libs/core/src/main/java/com/solarwinds/joboe/core/util/ExecUtils.java Expands wildcard imports and improves Javadoc.
libs/core/src/main/java/com/solarwinds/joboe/core/util/BackTraceUtil.java Fills in missing Javadoc descriptions.
libs/core/src/main/java/com/solarwinds/joboe/core/UdpReporter.java Renames reporter class/constructors for abbreviation compliance; improves Javadoc.
libs/core/src/main/java/com/solarwinds/joboe/core/TestReporter.java Fills in missing Javadoc descriptions.
libs/core/src/main/java/com/solarwinds/joboe/core/settings/TestSettingsReader.java Fills in missing Javadoc descriptions.
libs/core/src/main/java/com/solarwinds/joboe/core/settings/SettingsUtil.java Expands wildcard imports.
libs/core/src/main/java/com/solarwinds/joboe/core/settings/PollingSettingsFetcher.java Improves Javadoc return description.
libs/core/src/main/java/com/solarwinds/joboe/core/rpc/RpcSettings.java Improves Javadoc descriptions.
libs/core/src/main/java/com/solarwinds/joboe/core/rpc/RpcClient.java Expands wildcard imports, improves Javadocs, and removes outdated comment block.
libs/core/src/main/java/com/solarwinds/joboe/core/rpc/grpc/GrpcClient.java Renames host ID helper methods/fields for abbreviation compliance and improves Javadoc.
libs/core/src/main/java/com/solarwinds/joboe/core/rpc/ClientLoggingCallback.java Clarifies generic type Javadoc.
libs/core/src/main/java/com/solarwinds/joboe/core/ReporterFactory.java Updates factory to return renamed UdpReporter and improves Javadoc.
libs/core/src/main/java/com/solarwinds/joboe/core/QueuingEventReporter.java Renames caught exception var to ignored and improves Javadocs.
libs/core/src/main/java/com/solarwinds/joboe/core/profiler/Profiler.java Improves Javadocs and adds braces for Checkstyle compliance.
libs/core/src/main/java/com/solarwinds/joboe/core/HostId.java Adds braces for Checkstyle compliance.
libs/core/src/main/java/com/solarwinds/joboe/core/EventValueConverter.java Renames field for abbreviation compliance and updates usages/Javadocs.
libs/core/src/main/java/com/solarwinds/joboe/core/EventImpl.java Replaces static wildcard imports, renames methods/params for abbreviation compliance, and updates Metadata API usage.
libs/core/src/main/java/com/solarwinds/joboe/core/Event.java Fills in missing Javadoc descriptions.
libs/core/src/main/java/com/solarwinds/joboe/core/Constants.java Splits multi-constant declarations into one-per-line.
libs/config/src/test/java/com/solarwinds/joboe/config/ConfigPropertyTest.java Adds braces around single-line if statements.
libs/config/src/main/java/com/solarwinds/joboe/config/JavaVersionComparator.java Splits comma-separated local variable declarations and adds braces.
libs/config/src/main/java/com/solarwinds/joboe/config/ConfigReader.java Aligns @throws JavaDoc with actual exception type.
libs/config/src/main/java/com/solarwinds/joboe/config/ConfigProperty.java Improves constructor Javadoc descriptions.
libs/config/src/main/java/com/solarwinds/joboe/config/ConfigParser.java Fills in missing Javadoc descriptions.
libs/config/src/main/java/com/solarwinds/joboe/config/ConfigManager.java Improves Javadoc param description.
libs/config/src/main/java/com/solarwinds/joboe/config/ConfigContainer.java Improves Javadocs and removes empty paragraph.
custom/src/test/java/com/solarwinds/opentelemetry/extensions/SolarwindsAgentListenerTest.java Adds teardown to reset static state via MethodHandle; renames test methods for abbreviation compliance.
custom/src/test/java/com/solarwinds/opentelemetry/extensions/provider/ProfilingSpanProcessorComponentProviderTest.java Replaces wildcard static imports with explicit assertions.
custom/src/test/java/com/solarwinds/opentelemetry/extensions/provider/AutoConfigurationCustomizerProviderImplTest.java Renames test method for abbreviation compliance.
custom/src/test/java/com/solarwinds/opentelemetry/extensions/config/parser/json/ProfilerSettingParserTest.java Replaces wildcard static imports with explicit assertions.
custom/src/test/java/com/solarwinds/opentelemetry/extensions/config/livereload/ConfigurationFileWatcherTest.java Expands wildcard imports to explicit imports for Mockito and NIO types.
custom/src/test/java/com/solarwinds/opentelemetry/extensions/config/HttpSettingsReaderDelegateTest.java Renames test method for abbreviation compliance.
custom/src/main/java/com/solarwinds/opentelemetry/extensions/SolarwindsProfilingSpanProcessor.java Updates Metadata getter rename (getTaskId).
checkstyle.xml Promotes severity to error, enforces abbreviation rule on static members, and configures suppression filter.
checkstyle-suppressions.xml Adds suppression rules for vendored ebson code and logging stream classes.
buildSrc/src/main/kotlin/solarwinds.java-conventions.gradle.kts Wires checkstyle suppressions file into Gradle Checkstyle configuration.
bootstrap/src/main/java/com/solarwinds/opentelemetry/core/Util.java Updates to renamed Metadata opId getter/setter.

@cleverchuk
cleverchuk merged commit 5217ea8 into main May 20, 2026
20 checks passed
@cleverchuk
cleverchuk deleted the cc/NH-137065 branch May 20, 2026 18:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants