fix checkstyle for tired-storage, websocket and bc modules (#13748)

* fix checkstyle for tired-storage, websocket and bc modules

* suppress the IllegalImport for netty internal

* update package-info comments

* update
diff --git a/bouncy-castle/bc/pom.xml b/bouncy-castle/bc/pom.xml
index 1f69ad6..8572043 100644
--- a/bouncy-castle/bc/pom.xml
+++ b/bouncy-castle/bc/pom.xml
@@ -73,6 +73,20 @@
           </execution>
         </executions>
       </plugin>
+
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>checkstyle</id>
+            <phase>verify</phase>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
 </project>
diff --git a/bouncy-castle/bc/src/main/java/org/apache/pulsar/bcloader/BouncyCastleLoader.java b/bouncy-castle/bc/src/main/java/org/apache/pulsar/bcloader/BouncyCastleLoader.java
index 6e43e9e..69002f1 100644
--- a/bouncy-castle/bc/src/main/java/org/apache/pulsar/bcloader/BouncyCastleLoader.java
+++ b/bouncy-castle/bc/src/main/java/org/apache/pulsar/bcloader/BouncyCastleLoader.java
@@ -19,7 +19,6 @@
 package org.apache.pulsar.bcloader;
 
 import static org.apache.pulsar.common.util.SecurityUtility.BC;
-
 import java.security.Provider;
 import java.security.Security;
 import lombok.extern.slf4j.Slf4j;
diff --git a/bouncy-castle/bc/src/main/java/org/apache/pulsar/bcloader/package-info.java b/bouncy-castle/bc/src/main/java/org/apache/pulsar/bcloader/package-info.java
new file mode 100644
index 0000000..b6308e3
--- /dev/null
+++ b/bouncy-castle/bc/src/main/java/org/apache/pulsar/bcloader/package-info.java
@@ -0,0 +1,23 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 for Bouncy Castle provider Loader.
+ */
+package org.apache.pulsar.bcloader;
diff --git a/pulsar-client-messagecrypto-bc/src/main/java/org/apache/pulsar/client/impl/crypto/MessageCryptoBc.java b/pulsar-client-messagecrypto-bc/src/main/java/org/apache/pulsar/client/impl/crypto/MessageCryptoBc.java
index ba7a4ab..fbbd326 100644
--- a/pulsar-client-messagecrypto-bc/src/main/java/org/apache/pulsar/client/impl/crypto/MessageCryptoBc.java
+++ b/pulsar-client-messagecrypto-bc/src/main/java/org/apache/pulsar/client/impl/crypto/MessageCryptoBc.java
@@ -104,7 +104,8 @@
     // Map of key name and encrypted gcm key, metadata pair which is sent with encrypted message
     private ConcurrentHashMap<String, EncryptionKeyInfo> encryptedDataKeyMap;
 
-    static final SecureRandom SECURERANDOM;
+
+    private static final SecureRandom secureRandom;
     static {
         SecureRandom rand = null;
         try {
@@ -113,10 +114,10 @@
             rand = new SecureRandom();
         }
 
-        SECURERANDOM = rand;
+        secureRandom = rand;
 
         // Initial seed
-        SECURERANDOM.nextBytes(new byte[IV_LEN]);
+        secureRandom.nextBytes(new byte[IV_LEN]);
 
         // Add provider only if it's not in the JVM
         if (Security.getProvider(BouncyCastleProvider.PROVIDER_NAME) == null) {
@@ -152,12 +153,12 @@
             keyGenerator = KeyGenerator.getInstance("AES");
             int aesKeyLength = Cipher.getMaxAllowedKeyLength("AES");
             if (aesKeyLength <= 128) {
-                log.warn(
-                        "{} AES Cryptographic strength is limited to {} bits. Consider installing JCE Unlimited S"
-                                + "trength Jurisdiction Policy Files.", logCtx, aesKeyLength);
-                keyGenerator.init(aesKeyLength, SECURERANDOM);
+                log.warn("{} AES Cryptographic strength is limited to {} bits. "
+                        + "Consider installing JCE Unlimited Strength Jurisdiction Policy Files.",
+                        logCtx, aesKeyLength);
+                keyGenerator.init(aesKeyLength, secureRandom);
             } else {
-                keyGenerator.init(256, SECURERANDOM);
+                keyGenerator.init(256, secureRandom);
             }
 
         } catch (NoSuchAlgorithmException | NoSuchProviderException | NoSuchPaddingException e) {
@@ -418,7 +419,7 @@
 
         // Create gcm param
         // TODO: Replace random with counter and periodic refreshing based on timer/counter value
-        SECURERANDOM.nextBytes(iv);
+        secureRandom.nextBytes(iv);
         GCMParameterSpec gcmParam = new GCMParameterSpec(tagLen, iv);
 
         // Update message metadata with encryption param
diff --git a/pulsar-client-messagecrypto-bc/src/main/java/org/apache/pulsar/client/impl/crypto/package-info.java b/pulsar-client-messagecrypto-bc/src/main/java/org/apache/pulsar/client/impl/crypto/package-info.java
index 0bd1c25..00cce17 100644
--- a/pulsar-client-messagecrypto-bc/src/main/java/org/apache/pulsar/client/impl/crypto/package-info.java
+++ b/pulsar-client-messagecrypto-bc/src/main/java/org/apache/pulsar/client/impl/crypto/package-info.java
@@ -16,7 +16,8 @@
  * specific language governing permissions and limitations
  * under the License.
  */
+
 /**
- * Classes to define policies for the load distribution.
+ * Helper class to for message encrypt or decrypt.
  */
 package org.apache.pulsar.client.impl.crypto;
diff --git a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/AbstractWebSocketHandler.java b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/AbstractWebSocketHandler.java
index e55b533..5217091 100644
--- a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/AbstractWebSocketHandler.java
+++ b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/AbstractWebSocketHandler.java
@@ -61,7 +61,8 @@
     protected final Map<String, String> queryParams;
 
 
-    public AbstractWebSocketHandler(WebSocketService service, HttpServletRequest request,
+    public AbstractWebSocketHandler(WebSocketService service,
+                                    HttpServletRequest request,
                                     ServletUpgradeResponse response) {
         this.service = service;
         this.request = new WebSocketHttpServletRequestWrapper(request);
@@ -220,17 +221,17 @@
         checkArgument(parts.get(domainIndex).equals("persistent")
                 || parts.get(domainIndex).equals("non-persistent"));
 
-
         final String domain = parts.get(domainIndex);
         final NamespaceName namespace = isV2Format ? NamespaceName.get(parts.get(5), parts.get(6)) :
                 NamespaceName.get(parts.get(4), parts.get(5), parts.get(6));
-        //The topic name which contains slashes is also split , so it needs to be jointed
+
+        // The topic name which contains slashes is also split,so it needs to be jointed
         int startPosition = 7;
         boolean isConsumer = "consumer".equals(parts.get(2)) || "consumer".equals(parts.get(3));
         int endPosition = isConsumer ? parts.size() - 1 : parts.size();
         StringBuilder topicName = new StringBuilder(parts.get(startPosition));
         while (++startPosition < endPosition) {
-            if (StringUtils.isEmpty(parts.get(startPosition))){
+            if (StringUtils.isEmpty(parts.get(startPosition))) {
                continue;
             }
             topicName.append("/").append(parts.get(startPosition));
@@ -240,8 +241,8 @@
         return TopicName.get(domain, namespace, name);
     }
 
-    protected abstract Boolean isAuthorized(String authRole, AuthenticationDataSource authenticationData)
-            throws Exception;
+    protected abstract Boolean isAuthorized(String authRole,
+                                            AuthenticationDataSource authenticationData) throws Exception;
 
     private static final Logger log = LoggerFactory.getLogger(AbstractWebSocketHandler.class);
 }
diff --git a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/ConsumerHandler.java b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/ConsumerHandler.java
index c745591..78179a8 100644
--- a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/ConsumerHandler.java
+++ b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/ConsumerHandler.java
@@ -137,8 +137,8 @@
 
     private void receiveMessage() {
         if (log.isDebugEnabled()) {
-            log.debug("[{}:{}] [{}] [{}] Receive next message", request.getRemoteAddr(), request.getRemotePort(),
-                    topic, subscription);
+            log.debug("[{}:{}] [{}] [{}] Receive next message",
+                    request.getRemoteAddr(), request.getRemotePort(), topic, subscription);
         }
 
         consumer.receiveAsync().thenAccept(msg -> {
diff --git a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/ReaderHandler.java b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/ReaderHandler.java
index c028468..d581756 100644
--- a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/ReaderHandler.java
+++ b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/ReaderHandler.java
@@ -124,8 +124,8 @@
 
     private void receiveMessage() {
         if (log.isDebugEnabled()) {
-            log.debug("[{}:{}] [{}] [{}] Receive next message", request.getRemoteAddr(), request.getRemotePort(),
-                    topic, subscription);
+            log.debug("[{}:{}] [{}] [{}] Receive next message",
+                    request.getRemoteAddr(), request.getRemotePort(), topic, subscription);
         }
 
         reader.readNextAsync().thenAccept(msg -> {
diff --git a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/WebSocketProducerServlet.java b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/WebSocketProducerServlet.java
index f62355b..20a674d 100644
--- a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/WebSocketProducerServlet.java
+++ b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/WebSocketProducerServlet.java
@@ -39,7 +39,7 @@
         if (service.getConfig().getWebSocketSessionIdleTimeoutMillis() > 0) {
             factory.getPolicy().setIdleTimeout(service.getConfig().getWebSocketSessionIdleTimeoutMillis());
         }
-        factory.setCreator((request, response) -> new ProducerHandler(service, request.getHttpServletRequest(),
-                response));
+        factory.setCreator((request, response) ->
+                new ProducerHandler(service, request.getHttpServletRequest(), response));
     }
 }
diff --git a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/admin/package-info.java b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/admin/package-info.java
index 7973748..1ca9ab8 100644
--- a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/admin/package-info.java
+++ b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/admin/package-info.java
@@ -16,8 +16,4 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
-/**
- * Helper class to access AirCompressor package private classes.
- */
 package org.apache.pulsar.websocket.admin;
diff --git a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/admin/v1/WebSocketProxyStatsV1.java b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/admin/v1/WebSocketProxyStatsV1.java
index 05ed681..89a1cf7 100644
--- a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/admin/v1/WebSocketProxyStatsV1.java
+++ b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/admin/v1/WebSocketProxyStatsV1.java
@@ -43,8 +43,9 @@
 
     @GET
     @Path("/metrics")
-    @ApiOperation(value = "Gets the metrics for Monitoring", notes = "Requested should be executed by Monitoring agent"
-            + " on each proxy to fetch the metrics", response = Metrics.class, responseContainer = "List")
+    @ApiOperation(value = "Gets the metrics for Monitoring",
+                  notes = "Requested should be executed by Monitoring agent on each proxy to fetch the metrics",
+                  response = Metrics.class, responseContainer = "List")
     @ApiResponses(value = { @ApiResponse(code = 403, message = "Don't have admin permission") })
     public Collection<Metrics> internalGetMetrics() throws Exception {
         return super.internalGetMetrics();
@@ -57,7 +58,8 @@
             @ApiResponse(code = 404, message = "Topic does not exist") })
     public ProxyTopicStat getStats(@PathParam("tenant") String tenant, @PathParam("cluster") String cluster,
             @PathParam("namespace") String namespace, @PathParam("topic") @Encoded String encodedTopic) {
-        return super.internalGetStats(TopicName.get("persistent", tenant, cluster, namespace, decode(encodedTopic)));
+        return super.internalGetStats(
+                TopicName.get("persistent", tenant, cluster, namespace, decode(encodedTopic)));
     }
 
     @GET
diff --git a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/admin/v1/package-info.java b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/admin/v1/package-info.java
index f9200aa..98374f3 100644
--- a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/admin/v1/package-info.java
+++ b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/admin/v1/package-info.java
@@ -16,8 +16,4 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
-/**
- * Helper class to access AirCompressor package private classes.
- */
 package org.apache.pulsar.websocket.admin.v1;
diff --git a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/admin/v2/WebSocketProxyStatsV2.java b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/admin/v2/WebSocketProxyStatsV2.java
index e8bfa90..186fe11 100644
--- a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/admin/v2/WebSocketProxyStatsV2.java
+++ b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/admin/v2/WebSocketProxyStatsV2.java
@@ -42,8 +42,9 @@
 public class WebSocketProxyStatsV2 extends WebSocketProxyStatsBase {
     @GET
     @Path("/metrics")
-    @ApiOperation(value = "Gets the metrics for Monitoring", notes = "Requested should be executed by Monitoring agent"
-            + " on each proxy to fetch the metrics", response = Metrics.class, responseContainer = "List")
+    @ApiOperation(value = "Gets the metrics for Monitoring",
+                  notes = "Requested should be executed by Monitoring agent on each proxy to fetch the metrics",
+                  response = Metrics.class, responseContainer = "List")
     @ApiResponses(value = { @ApiResponse(code = 403, message = "Don't have admin permission") })
     public Collection<Metrics> internalGetMetrics() throws Exception {
         return super.internalGetMetrics();
diff --git a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/admin/v2/package-info.java b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/admin/v2/package-info.java
index cfaaa11..ab19c9f 100644
--- a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/admin/v2/package-info.java
+++ b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/admin/v2/package-info.java
@@ -16,8 +16,4 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
-/**
- * Helper class to access AirCompressor package private classes.
- */
 package org.apache.pulsar.websocket.admin.v2;
diff --git a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/data/package-info.java b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/data/package-info.java
index 27d88be..08ae9d6 100644
--- a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/data/package-info.java
+++ b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/data/package-info.java
@@ -16,8 +16,4 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
-/**
- * Helper class to access AirCompressor package private classes.
- */
 package org.apache.pulsar.websocket.data;
diff --git a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/package-info.java b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/package-info.java
index f4358c9..9f11c36 100644
--- a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/package-info.java
+++ b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/package-info.java
@@ -16,8 +16,4 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
-/**
- * Helper class to access AirCompressor package private classes.
- */
 package org.apache.pulsar.websocket;
diff --git a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/service/WebSocketProxyConfiguration.java b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/service/WebSocketProxyConfiguration.java
index bb0d19d..ca78c85 100644
--- a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/service/WebSocketProxyConfiguration.java
+++ b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/service/WebSocketProxyConfiguration.java
@@ -131,7 +131,7 @@
     @FieldContext(doc = "When this parameter is not empty, unauthenticated users perform as anonymousUserRole")
     private String anonymousUserRole = null;
 
-    /***** --- TLS. --- ****/
+    /* --- TLS --- */
     @Deprecated
     private boolean tlsEnabled = false;
 
diff --git a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/service/WebSocketServiceStarter.java b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/service/WebSocketServiceStarter.java
index 71c8667..63aff92 100644
--- a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/service/WebSocketServiceStarter.java
+++ b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/service/WebSocketServiceStarter.java
@@ -96,7 +96,8 @@
                 new WebSocketProducerServlet(service));
         proxyServer.addWebSocketServlet(WebSocketConsumerServlet.SERVLET_PATH_V2,
                 new WebSocketConsumerServlet(service));
-        proxyServer.addWebSocketServlet(WebSocketReaderServlet.SERVLET_PATH_V2, new WebSocketReaderServlet(service));
+        proxyServer.addWebSocketServlet(WebSocketReaderServlet.SERVLET_PATH_V2,
+                new WebSocketReaderServlet(service));
         proxyServer.addWebSocketServlet(WebSocketPingPongServlet.SERVLET_PATH_V2,
                 new WebSocketPingPongServlet(service));
 
diff --git a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/service/package-info.java b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/service/package-info.java
index 5ab61ee..123e865 100644
--- a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/service/package-info.java
+++ b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/service/package-info.java
@@ -16,8 +16,4 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
-/**
- * Helper class to access AirCompressor package private classes.
- */
 package org.apache.pulsar.websocket.service;
diff --git a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/stats/JvmMetrics.java b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/stats/JvmMetrics.java
index 1a9fb29..91f3db2 100644
--- a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/stats/JvmMetrics.java
+++ b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/stats/JvmMetrics.java
@@ -18,6 +18,8 @@
  */
 package org.apache.pulsar.websocket.stats;
 
+// CHECKSTYLE.OFF: IllegalImport
+import static io.netty.util.internal.PlatformDependent.maxDirectMemory;
 import static org.apache.pulsar.common.stats.Metrics.create;
 import static org.apache.pulsar.common.util.Runnables.catchingAndLoggingThrowables;
 import java.lang.management.ManagementFactory;
@@ -31,6 +33,7 @@
 import org.apache.pulsar.websocket.WebSocketService;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
+// CHECKSTYLE.ON: IllegalImport
 
 public class JvmMetrics {
 
@@ -62,7 +65,7 @@
         m.put("jvm_max_memory", r.maxMemory());
         m.put("jvm_total_memory", r.totalMemory());
 
-        m.put("jvm_max_direct_memory", io.netty.util.internal.PlatformDependent.maxDirectMemory());
+        m.put("jvm_max_direct_memory", maxDirectMemory());
         m.put("jvm_thread_cnt", getThreadCount());
 
         m.put("jvm_gc_young_pause", currentYoungGcTime);
diff --git a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/stats/package-info.java b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/stats/package-info.java
index 916ed2c..36f10df 100644
--- a/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/stats/package-info.java
+++ b/pulsar-websocket/src/main/java/org/apache/pulsar/websocket/stats/package-info.java
@@ -16,8 +16,4 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-
-/**
- * Helper class to access AirCompressor package private classes.
- */
 package org.apache.pulsar.websocket.stats;
diff --git a/tiered-storage/file-system/pom.xml b/tiered-storage/file-system/pom.xml
index e89080b..bac6423 100644
--- a/tiered-storage/file-system/pom.xml
+++ b/tiered-storage/file-system/pom.xml
@@ -174,6 +174,19 @@
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-checkstyle-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>checkstyle</id>
+                        <phase>verify</phase>
+                        <goals>
+                            <goal>check</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
         </plugins>
     </build>
 </project>
diff --git a/tiered-storage/file-system/src/main/java/org/apache/bookkeeper/mledger/offload/filesystem/FileSystemLedgerOffloaderFactory.java b/tiered-storage/file-system/src/main/java/org/apache/bookkeeper/mledger/offload/filesystem/FileSystemLedgerOffloaderFactory.java
index 555e142..4b32f77 100644
--- a/tiered-storage/file-system/src/main/java/org/apache/bookkeeper/mledger/offload/filesystem/FileSystemLedgerOffloaderFactory.java
+++ b/tiered-storage/file-system/src/main/java/org/apache/bookkeeper/mledger/offload/filesystem/FileSystemLedgerOffloaderFactory.java
@@ -18,14 +18,13 @@
  */
 package org.apache.bookkeeper.mledger.offload.filesystem;
 
+import java.io.IOException;
+import java.util.Map;
 import org.apache.bookkeeper.common.util.OrderedScheduler;
 import org.apache.bookkeeper.mledger.LedgerOffloaderFactory;
 import org.apache.bookkeeper.mledger.offload.filesystem.impl.FileSystemManagedLedgerOffloader;
 import org.apache.pulsar.common.policies.data.OffloadPoliciesImpl;
 
-import java.io.IOException;
-import java.util.Map;
-
 public class FileSystemLedgerOffloaderFactory implements LedgerOffloaderFactory<FileSystemManagedLedgerOffloader> {
     @Override
     public boolean isDriverSupported(String driverName) {
@@ -34,7 +33,8 @@
 
     @Override
     public FileSystemManagedLedgerOffloader create(OffloadPoliciesImpl offloadPolicies,
-                                                   Map<String, String> userMetadata, OrderedScheduler scheduler) throws IOException {
+                                                   Map<String, String> userMetadata,
+                                                   OrderedScheduler scheduler) throws IOException {
         return FileSystemManagedLedgerOffloader.create(offloadPolicies, scheduler);
     }
 }
diff --git a/tiered-storage/file-system/src/main/java/org/apache/bookkeeper/mledger/offload/filesystem/impl/FileStoreBackedReadHandleImpl.java b/tiered-storage/file-system/src/main/java/org/apache/bookkeeper/mledger/offload/filesystem/impl/FileStoreBackedReadHandleImpl.java
index c035f7a..5221b15 100644
--- a/tiered-storage/file-system/src/main/java/org/apache/bookkeeper/mledger/offload/filesystem/impl/FileStoreBackedReadHandleImpl.java
+++ b/tiered-storage/file-system/src/main/java/org/apache/bookkeeper/mledger/offload/filesystem/impl/FileStoreBackedReadHandleImpl.java
@@ -18,8 +18,15 @@
  */
 package org.apache.bookkeeper.mledger.offload.filesystem.impl;
 
+import static org.apache.bookkeeper.mledger.offload.OffloadUtils.parseLedgerMetadata;
 import io.netty.buffer.ByteBuf;
 import io.netty.buffer.PooledByteBufAllocator;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.ScheduledExecutorService;
 import org.apache.bookkeeper.client.BKException;
 import org.apache.bookkeeper.client.api.LastConfirmedAndEntry;
 import org.apache.bookkeeper.client.api.LedgerEntries;
@@ -28,22 +35,12 @@
 import org.apache.bookkeeper.client.api.ReadHandle;
 import org.apache.bookkeeper.client.impl.LedgerEntriesImpl;
 import org.apache.bookkeeper.client.impl.LedgerEntryImpl;
-
 import org.apache.hadoop.io.BytesWritable;
 import org.apache.hadoop.io.LongWritable;
 import org.apache.hadoop.io.MapFile;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.ScheduledExecutorService;
-
-import static org.apache.bookkeeper.mledger.offload.OffloadUtils.parseLedgerMetadata;
-
 public class FileStoreBackedReadHandleImpl implements ReadHandle {
     private static final Logger log = LoggerFactory.getLogger(FileStoreBackedReadHandleImpl.class);
     private final ExecutorService executor;
@@ -51,7 +48,9 @@
     private final long ledgerId;
     private final LedgerMetadata ledgerMetadata;
 
-    private FileStoreBackedReadHandleImpl(ExecutorService executor, MapFile.Reader reader, long ledgerId) throws IOException {
+    private FileStoreBackedReadHandleImpl(ExecutorService executor,
+                                          MapFile.Reader reader,
+                                          long ledgerId) throws IOException {
         this.ledgerId = ledgerId;
         this.executor = executor;
         this.reader = reader;
@@ -177,7 +176,9 @@
         return promise;
     }
 
-    public static ReadHandle open(ScheduledExecutorService executor, MapFile.Reader reader, long ledgerId) throws IOException {
+    public static ReadHandle open(ScheduledExecutorService executor,
+                                  MapFile.Reader reader,
+                                  long ledgerId) throws IOException {
             return new FileStoreBackedReadHandleImpl(executor, reader, ledgerId);
     }
 }
diff --git a/tiered-storage/file-system/src/main/java/org/apache/bookkeeper/mledger/offload/filesystem/impl/FileSystemManagedLedgerOffloader.java b/tiered-storage/file-system/src/main/java/org/apache/bookkeeper/mledger/offload/filesystem/impl/FileSystemManagedLedgerOffloader.java
index 866ff70..02f1e62 100644
--- a/tiered-storage/file-system/src/main/java/org/apache/bookkeeper/mledger/offload/filesystem/impl/FileSystemManagedLedgerOffloader.java
+++ b/tiered-storage/file-system/src/main/java/org/apache/bookkeeper/mledger/offload/filesystem/impl/FileSystemManagedLedgerOffloader.java
@@ -18,9 +18,18 @@
  */
 package org.apache.bookkeeper.mledger.offload.filesystem.impl;
 
+import static org.apache.bookkeeper.mledger.offload.OffloadUtils.buildLedgerMetadataFormat;
 import com.google.common.annotations.VisibleForTesting;
 import com.google.common.collect.ImmutableMap;
 import io.netty.util.Recycler;
+import java.io.IOException;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.UUID;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.Semaphore;
+import java.util.concurrent.atomic.AtomicLong;
 import org.apache.bookkeeper.client.api.LedgerEntries;
 import org.apache.bookkeeper.client.api.LedgerEntry;
 import org.apache.bookkeeper.client.api.ReadHandle;
@@ -38,18 +47,6 @@
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.UUID;
-
-import java.util.concurrent.CompletableFuture;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.Semaphore;
-import java.util.concurrent.atomic.AtomicLong;
-
-import static org.apache.bookkeeper.mledger.offload.OffloadUtils.buildLedgerMetadataFormat;
-
 public class FileSystemManagedLedgerOffloader implements LedgerOffloader {
 
     private static final Logger log = LoggerFactory.getLogger(FileSystemManagedLedgerOffloader.class);
@@ -75,7 +72,8 @@
         return driverName;
     }
 
-    public static FileSystemManagedLedgerOffloader create(OffloadPoliciesImpl conf, OrderedScheduler scheduler) throws IOException {
+    public static FileSystemManagedLedgerOffloader create(OffloadPoliciesImpl conf,
+                                                          OrderedScheduler scheduler) throws IOException {
         return new FileSystemManagedLedgerOffloader(conf, scheduler);
     }
 
@@ -110,7 +108,10 @@
     }
 
     @VisibleForTesting
-    public FileSystemManagedLedgerOffloader(OffloadPoliciesImpl conf, OrderedScheduler scheduler, String testHDFSPath, String baseDir) throws IOException {
+    public FileSystemManagedLedgerOffloader(OffloadPoliciesImpl conf,
+                                            OrderedScheduler scheduler,
+                                            String testHDFSPath,
+                                            String baseDir) throws IOException {
         this.offloadPolicies = conf;
         this.configuration = new Configuration();
         this.configuration.set("fs.hdfs.impl", "org.apache.hadoop.hdfs.DistributedFileSystem");
@@ -140,7 +141,9 @@
     @Override
     public CompletableFuture<Void> offload(ReadHandle readHandle, UUID uuid, Map<String, String> extraMetadata) {
         CompletableFuture<Void> promise = new CompletableFuture<>();
-        scheduler.chooseThread(readHandle.getId()).submit(new LedgerReader(readHandle, uuid, extraMetadata, promise, storageBasePath, configuration, assignmentScheduler, offloadPolicies.getManagedLedgerOffloadPrefetchRounds()));
+        scheduler.chooseThread(readHandle.getId()).submit(
+                new LedgerReader(readHandle, uuid, extraMetadata, promise, storageBasePath,
+                        configuration, assignmentScheduler, offloadPolicies.getManagedLedgerOffloadPrefetchRounds()));
         return promise;
     }
 
@@ -156,8 +159,14 @@
         private OrderedScheduler assignmentScheduler;
         private int managedLedgerOffloadPrefetchRounds = 1;
 
-        private LedgerReader(ReadHandle readHandle, UUID uuid, Map<String, String> extraMetadata, CompletableFuture<Void> promise,
-                             String storageBasePath, Configuration configuration, OrderedScheduler assignmentScheduler, int managedLedgerOffloadPrefetchRounds) {
+        private LedgerReader(ReadHandle readHandle,
+                             UUID uuid,
+                             Map<String, String> extraMetadata,
+                             CompletableFuture<Void> promise,
+                             String storageBasePath,
+                             Configuration configuration,
+                             OrderedScheduler assignmentScheduler,
+                             int managedLedgerOffloadPrefetchRounds) {
             this.readHandle = readHandle;
             this.uuid = uuid;
             this.extraMetadata = extraMetadata;
@@ -196,15 +205,18 @@
                 //avoid prefetch too much data into memory
                 Semaphore semaphore = new Semaphore(managedLedgerOffloadPrefetchRounds);
                 do {
-                    long end = Math.min(needToOffloadFirstEntryNumber + ENTRIES_PER_READ - 1, readHandle.getLastAddConfirmed());
+                    long end = Math.min(needToOffloadFirstEntryNumber + ENTRIES_PER_READ - 1,
+                            readHandle.getLastAddConfirmed());
                     log.debug("read ledger entries. start: {}, end: {}", needToOffloadFirstEntryNumber, end);
                     LedgerEntries ledgerEntriesOnce = readHandle.readAsync(needToOffloadFirstEntryNumber, end).get();
                     semaphore.acquire();
                     countDownLatch = new CountDownLatch(1);
-                    assignmentScheduler.chooseThread(ledgerId).submit(FileSystemWriter.create(ledgerEntriesOnce, dataWriter, semaphore,
-                            countDownLatch, haveOffloadEntryNumber, this));
+                    assignmentScheduler.chooseThread(ledgerId)
+                            .submit(FileSystemWriter.create(ledgerEntriesOnce,
+                                    dataWriter, semaphore, countDownLatch, haveOffloadEntryNumber, this));
                     needToOffloadFirstEntryNumber = end + 1;
-                } while (needToOffloadFirstEntryNumber - 1 != readHandle.getLastAddConfirmed() && fileSystemWriteException == null);
+                } while (needToOffloadFirstEntryNumber - 1 != readHandle.getLastAddConfirmed()
+                        && fileSystemWriteException == null);
                 countDownLatch.await();
                 if (fileSystemWriteException != null) {
                     throw fileSystemWriteException;
@@ -212,8 +224,8 @@
                 IOUtils.closeStream(dataWriter);
                 promise.complete(null);
             } catch (Exception e) {
-                log.error("Exception when get CompletableFuture<LedgerEntries> : ManagerLedgerName: {}, " +
-                        "LedgerId: {}, UUID: {} ", extraMetadata.get(MANAGED_LEDGER_NAME), ledgerId, uuid, e);
+                log.error("Exception when get CompletableFuture<LedgerEntries> : ManagerLedgerName: {}, "
+                        + "LedgerId: {}, UUID: {} ", extraMetadata.get(MANAGED_LEDGER_NAME), ledgerId, uuid, e);
                 if (e instanceof InterruptedException) {
                     Thread.currentThread().interrupt();
                 }
@@ -258,8 +270,12 @@
         }
 
 
-        public static FileSystemWriter create(LedgerEntries ledgerEntriesOnce, MapFile.Writer dataWriter, Semaphore semaphore,
-                                              CountDownLatch countDownLatch, AtomicLong haveOffloadEntryNumber, LedgerReader ledgerReader) {
+        public static FileSystemWriter create(LedgerEntries ledgerEntriesOnce,
+                                              MapFile.Writer dataWriter,
+                                              Semaphore semaphore,
+                                              CountDownLatch countDownLatch,
+                                              AtomicLong haveOffloadEntryNumber,
+                                              LedgerReader ledgerReader) {
             FileSystemWriter writer = RECYCLER.get();
             writer.ledgerReader = ledgerReader;
             writer.dataWriter = dataWriter;
@@ -296,7 +312,8 @@
     }
 
     @Override
-    public CompletableFuture<ReadHandle> readOffloaded(long ledgerId, UUID uuid, Map<String, String> offloadDriverMetadata) {
+    public CompletableFuture<ReadHandle> readOffloaded(long ledgerId, UUID uuid,
+                                                       Map<String, String> offloadDriverMetadata) {
 
         CompletableFuture<ReadHandle> promise = new CompletableFuture<>();
         String storagePath = getStoragePath(storageBasePath, offloadDriverMetadata.get(MANAGED_LEDGER_NAME));
@@ -305,10 +322,12 @@
             try {
                 MapFile.Reader reader = new MapFile.Reader(new Path(dataFilePath),
                         configuration);
-                promise.complete(FileStoreBackedReadHandleImpl.open(scheduler.chooseThread(ledgerId), reader, ledgerId));
+                promise.complete(FileStoreBackedReadHandleImpl.open(scheduler.chooseThread(ledgerId),
+                                                                    reader,
+                                                                    ledgerId));
             } catch (Throwable t) {
-                log.error("Failed to open FileStoreBackedReadHandleImpl: ManagerLedgerName: {}, " +
-                        "LegerId: {}, UUID: {}", offloadDriverMetadata.get(MANAGED_LEDGER_NAME), ledgerId, uuid, t);
+                log.error("Failed to open FileStoreBackedReadHandleImpl: ManagerLedgerName: {}, "
+                        + "LegerId: {}, UUID: {}", offloadDriverMetadata.get(MANAGED_LEDGER_NAME), ledgerId, uuid, t);
                 promise.completeExceptionally(t);
             }
         });
diff --git a/tiered-storage/file-system/src/main/java/org/apache/bookkeeper/mledger/offload/filesystem/impl/package-info.java b/tiered-storage/file-system/src/main/java/org/apache/bookkeeper/mledger/offload/filesystem/impl/package-info.java
new file mode 100644
index 0000000..44c30e5
--- /dev/null
+++ b/tiered-storage/file-system/src/main/java/org/apache/bookkeeper/mledger/offload/filesystem/impl/package-info.java
@@ -0,0 +1,19 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 org.apache.bookkeeper.mledger.offload.filesystem.impl;
diff --git a/tiered-storage/file-system/src/main/java/org/apache/bookkeeper/mledger/offload/filesystem/package-info.java b/tiered-storage/file-system/src/main/java/org/apache/bookkeeper/mledger/offload/filesystem/package-info.java
new file mode 100644
index 0000000..38cfef9
--- /dev/null
+++ b/tiered-storage/file-system/src/main/java/org/apache/bookkeeper/mledger/offload/filesystem/package-info.java
@@ -0,0 +1,19 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you 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 org.apache.bookkeeper.mledger.offload.filesystem;
diff --git a/tiered-storage/jcloud/pom.xml b/tiered-storage/jcloud/pom.xml
index b0b8115..12026b0 100644
--- a/tiered-storage/jcloud/pom.xml
+++ b/tiered-storage/jcloud/pom.xml
@@ -156,6 +156,19 @@
           </execution>
         </executions>
       </plugin>
+      <plugin>
+        <groupId>org.apache.maven.plugins</groupId>
+        <artifactId>maven-checkstyle-plugin</artifactId>
+        <executions>
+          <execution>
+            <id>checkstyle</id>
+            <phase>verify</phase>
+            <goals>
+              <goal>check</goal>
+            </goals>
+          </execution>
+        </executions>
+      </plugin>
     </plugins>
   </build>
 </project>
diff --git a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/JCloudLedgerOffloaderFactory.java b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/JCloudLedgerOffloaderFactory.java
index 5dd35be..c74799e 100644
--- a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/JCloudLedgerOffloaderFactory.java
+++ b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/JCloudLedgerOffloaderFactory.java
@@ -46,7 +46,7 @@
     @Override
     public BlobStoreManagedLedgerOffloader create(OffloadPoliciesImpl offloadPolicies, Map<String, String> userMetadata,
                                                   OrderedScheduler scheduler) throws IOException {
-        
+
         TieredStorageConfiguration config =
                 TieredStorageConfiguration.create(offloadPolicies.toProperties());
         return BlobStoreManagedLedgerOffloader.create(config, userMetadata, scheduler);
diff --git a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/OffloadIndexBlockV2.java b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/OffloadIndexBlockV2.java
index 793d974..6144d7c 100644
--- a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/OffloadIndexBlockV2.java
+++ b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/OffloadIndexBlockV2.java
@@ -46,7 +46,7 @@
      */
     OffloadIndexEntry getIndexEntryForEntry(long ledgerId, long messageEntryId) throws IOException;
 
-    public long getStartEntryId(long ledgerId);
+    long getStartEntryId(long ledgerId);
 
     /**
      * Get the entry count that contained in this index Block.
diff --git a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreBackedInputStreamImpl.java b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreBackedInputStreamImpl.java
index e3fc68a..e905884 100644
--- a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreBackedInputStreamImpl.java
+++ b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreBackedInputStreamImpl.java
@@ -144,6 +144,6 @@
 
     @Override
     public int available() throws IOException {
-        return (int)(objectLen - cursor) + buffer.readableBytes();
+        return (int) (objectLen - cursor) + buffer.readableBytes();
     }
 }
diff --git a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreBackedReadHandleImpl.java b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreBackedReadHandleImpl.java
index f4dc1b8..d60ea14 100644
--- a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreBackedReadHandleImpl.java
+++ b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreBackedReadHandleImpl.java
@@ -27,7 +27,6 @@
 import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.ScheduledExecutorService;
-
 import org.apache.bookkeeper.client.BKException;
 import org.apache.bookkeeper.client.api.LastConfirmedAndEntry;
 import org.apache.bookkeeper.client.api.LedgerEntries;
@@ -126,7 +125,8 @@
 
                 while (entriesToRead > 0) {
                     if (state == State.Closed) {
-                        log.warn("Reading a closed read handler. Ledger ID: {}, Read range: {}-{}", ledgerId, firstEntry, lastEntry);
+                        log.warn("Reading a closed read handler. Ledger ID: {}, Read range: {}-{}",
+                                ledgerId, firstEntry, lastEntry);
                         throw new BKException.BKUnexpectedConditionException();
                     }
                     int length = dataStream.readInt();
diff --git a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreBackedReadHandleImplV2.java b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreBackedReadHandleImplV2.java
index 0dba4b0..a6f6613 100644
--- a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreBackedReadHandleImplV2.java
+++ b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreBackedReadHandleImplV2.java
@@ -18,7 +18,7 @@
  */
 package org.apache.bookkeeper.mledger.offload.jcloud.impl;
 
-import com.google.common.base.Preconditions;
+import static com.google.common.base.Preconditions.checkArgument;
 import io.netty.buffer.ByteBuf;
 import java.io.DataInputStream;
 import java.io.IOException;
@@ -60,11 +60,11 @@
     static class GroupedReader {
         @Override
         public String toString() {
-            return "GroupedReader{" +
-                    "ledgerId=" + ledgerId +
-                    ", firstEntry=" + firstEntry +
-                    ", lastEntry=" + lastEntry +
-                    '}';
+            return "GroupedReader{"
+                    + "ledgerId=" + ledgerId
+                    + ", firstEntry=" + firstEntry
+                    + ", lastEntry=" + lastEntry
+                    + '}';
         }
 
         public final long ledgerId;
@@ -222,12 +222,12 @@
             }
         }
 
-        Preconditions.checkArgument(firstEntry > lastEntry);
+        checkArgument(firstEntry > lastEntry);
         for (int i = 0; i < groupedReaders.size() - 1; i++) {
             final GroupedReader readerI = groupedReaders.get(i);
             final GroupedReader readerII = groupedReaders.get(i + 1);
-            Preconditions.checkArgument(readerI.ledgerId == readerII.ledgerId);
-            Preconditions.checkArgument(readerI.firstEntry >= readerII.lastEntry);
+            checkArgument(readerI.ledgerId == readerII.ledgerId);
+            checkArgument(readerI.firstEntry >= readerII.lastEntry);
         }
         return groupedReaders;
     }
diff --git a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreManagedLedgerOffloader.java b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreManagedLedgerOffloader.java
index 817c6a7..77e3cd2 100644
--- a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreManagedLedgerOffloader.java
+++ b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/BlobStoreManagedLedgerOffloader.java
@@ -91,8 +91,8 @@
     private OffloadSegmentInfoImpl segmentInfo;
     private AtomicLong bufferLength = new AtomicLong(0);
     private AtomicLong segmentLength = new AtomicLong(0);
-    final private long maxBufferLength;
-    final private ConcurrentLinkedQueue<Entry> offloadBuffer = new ConcurrentLinkedQueue<>();
+    private final long maxBufferLength;
+    private final ConcurrentLinkedQueue<Entry> offloadBuffer = new ConcurrentLinkedQueue<>();
     private CompletableFuture<OffloadResult> offloadResult;
     private volatile PositionImpl lastOfferedPosition = PositionImpl.LATEST;
     private final Duration maxSegmentCloseTime;
@@ -388,8 +388,8 @@
             streamingIndexBuilder.withDataBlockHeaderLength(StreamingDataBlockHeaderImpl.getDataStartOffset());
             streamingIndexBuilder.addBlock(blockLedgerId, beginEntryId, partId, blockSize);
             final MLDataFormats.ManagedLedgerInfo.LedgerInfo ledgerInfo = ml.getLedgerInfo(blockLedgerId).get();
-            final MLDataFormats.ManagedLedgerInfo.LedgerInfo.Builder ledgerInfoBuilder = MLDataFormats.ManagedLedgerInfo.LedgerInfo
-                    .newBuilder();
+            final MLDataFormats.ManagedLedgerInfo.LedgerInfo.Builder ledgerInfoBuilder =
+                    MLDataFormats.ManagedLedgerInfo.LedgerInfo.newBuilder();
             if (ledgerInfo != null) {
                 ledgerInfoBuilder.mergeFrom(ledgerInfo);
             }
diff --git a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/OffloadIndexBlockV2Impl.java b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/OffloadIndexBlockV2Impl.java
index d58a4c1..4a51e2d 100644
--- a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/OffloadIndexBlockV2Impl.java
+++ b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/impl/OffloadIndexBlockV2Impl.java
@@ -49,7 +49,7 @@
     private static final int INDEX_MAGIC_WORD = 0x3D1FB0BC;
 
     private Map<Long, LedgerInfo> segmentMetadata;
-    final private Map<Long, LedgerMetadata> compatibleMetadata = Maps.newTreeMap();
+    private final Map<Long, LedgerMetadata> compatibleMetadata = Maps.newTreeMap();
     private long dataObjectLength;
     private long dataHeaderLength;
     //    private TreeMap<Long, OffloadIndexEntryImpl> indexEntries;
@@ -173,7 +173,7 @@
         int indexBlockLength = 4 /* magic header */
                 + 4 /* index block length */
                 + 8 /* data object length */
-                + 8;/* data header length */
+                + 8; /* data header length */
 
         Map<Long, byte[]> metaBytesMap = new HashMap<>();
         for (Map.Entry<Long, TreeMap<Long, OffloadIndexEntryImpl>> e : this.indexEntries.entrySet()) {
diff --git a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/provider/BlobStoreLocation.java b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/provider/BlobStoreLocation.java
index 62c9eaa..6810651 100644
--- a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/provider/BlobStoreLocation.java
+++ b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/provider/BlobStoreLocation.java
@@ -20,7 +20,6 @@
 
 import java.io.Serializable;
 import java.util.Map;
-
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
diff --git a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/provider/JCloudBlobStoreProvider.java b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/provider/JCloudBlobStoreProvider.java
index 341e929..9ba51af 100644
--- a/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/provider/JCloudBlobStoreProvider.java
+++ b/tiered-storage/jcloud/src/main/java/org/apache/bookkeeper/mledger/offload/jcloud/provider/JCloudBlobStoreProvider.java
@@ -23,7 +23,6 @@
 import static org.apache.bookkeeper.mledger.offload.jcloud.provider.TieredStorageConfiguration.S3_ROLE_FIELD;
 import static org.apache.bookkeeper.mledger.offload.jcloud.provider.TieredStorageConfiguration.S3_ROLE_SESSION_NAME_FIELD;
 import static org.apache.bookkeeper.mledger.offload.jcloud.provider.TieredStorageConfiguration.S3_SECRET_FIELD;
-
 import com.amazonaws.auth.AWSCredentials;
 import com.amazonaws.auth.AWSCredentialsProvider;
 import com.amazonaws.auth.AWSSessionCredentials;
@@ -33,20 +32,16 @@
 import com.amazonaws.auth.STSAssumeRoleSessionCredentialsProvider;
 import com.google.common.base.Strings;
 import com.google.common.io.Files;
-
 import java.io.File;
 import java.io.IOException;
 import java.io.Serializable;
 import java.nio.charset.Charset;
 import java.util.Properties;
 import java.util.UUID;
-
 import lombok.extern.slf4j.Slf4j;
-
 import org.apache.bookkeeper.mledger.offload.jcloud.provider.TieredStorageConfiguration.BlobStoreBuilder;
 import org.apache.bookkeeper.mledger.offload.jcloud.provider.TieredStorageConfiguration.ConfigValidation;
 import org.apache.bookkeeper.mledger.offload.jcloud.provider.TieredStorageConfiguration.CredentialBuilder;
-
 import org.apache.commons.lang3.StringUtils;
 import org.jclouds.ContextBuilder;
 import org.jclouds.aws.domain.SessionCredentials;
@@ -173,7 +168,7 @@
 
 
     /**
-     * Aliyun OSS is compatible with the S3 API
+     * Aliyun OSS is compatible with the S3 API.
      * https://www.alibabacloud.com/help/doc-detail/64919.htm
      */
     ALIYUN_OSS("aliyun-oss", new AnonymousProviderMetadata(new S3ApiMetadata(), "")) {
@@ -242,7 +237,7 @@
         return null;
     }
 
-    public static final boolean driverSupported(String driverName) {
+    public static boolean driverSupported(String driverName) {
         for (JCloudBlobStoreProvider provider: JCloudBlobStoreProvider.values()) {
             if (provider.getDriver().equalsIgnoreCase(driverName)) {
                 return true;