summaryrefslogtreecommitdiff
path: root/lib/java
diff options
context:
space:
mode:
authorJiayu Liu <Jimexist@users.noreply.github.com>2022-05-12 00:20:37 +0800
committerGitHub <noreply@github.com>2022-05-11 12:20:37 -0400
commit5b158389b01d028e98e59f0ea41c01d625a84242 (patch)
tree7f8da5c4f388d25f9949952bb566baf6b6fdb1a2 /lib/java
parentdae1437ca03834527b654cf5bc8d7f41c9412a20 (diff)
downloadthrift-5b158389b01d028e98e59f0ea41c01d625a84242.tar.gz
THRIFT-5581: use gradle 7 for java/kotlin (#2601)
* upgrade gradle version to 7.4 * migrate from `maven` plugin to `maven-publish` plugin as required for Gradle 7 * add guard to ktfmt, since it can't run with JDK 8 Co-authored-by: Christopher Tubbs <ctubbsii@apache.org>
Diffstat (limited to 'lib/java')
-rw-r--r--lib/java/Makefile.am4
-rw-r--r--lib/java/README.md14
-rw-r--r--lib/java/build.gradle5
-rw-r--r--lib/java/gradle/additionalArtifacts.gradle40
-rw-r--r--lib/java/gradle/codeQualityChecks.gradle4
-rw-r--r--lib/java/gradle/functionalTests.gradle1
-rw-r--r--lib/java/gradle/publishing.gradle118
-rw-r--r--lib/java/gradle/sourceConfiguration.gradle2
-rw-r--r--lib/java/gradle/unitTests.gradle4
-rw-r--r--lib/java/src/main/java/org/apache/thrift/server/TExtensibleServlet.java8
-rw-r--r--lib/java/src/main/java/org/apache/thrift/server/TServlet.java16
-rw-r--r--lib/java/src/main/java/org/apache/thrift/transport/AutoExpandingBufferWriteTransport.java4
-rw-r--r--lib/java/src/main/java/org/apache/thrift/transport/TIOStreamTransport.java4
-rw-r--r--lib/java/src/main/java/org/apache/thrift/transport/sasl/FixedSizeHeaderReader.java4
-rw-r--r--lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameHeaderReader.java4
-rw-r--r--lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameReader.java20
-rw-r--r--lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameWriter.java4
-rw-r--r--lib/java/src/main/java/org/apache/thrift/transport/sasl/NonblockingSaslHandler.java12
-rw-r--r--lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslPeer.java4
-rw-r--r--lib/java/src/main/java/org/apache/thrift/transport/sasl/TSaslNegotiationException.java8
20 files changed, 132 insertions, 148 deletions
diff --git a/lib/java/Makefile.am b/lib/java/Makefile.am
index 1e1ee9b09..1dd42a7d2 100644
--- a/lib/java/Makefile.am
+++ b/lib/java/Makefile.am
@@ -26,7 +26,7 @@ all-local:
--console=plain
install-exec-hook:
- $(GRADLE) $(GRADLE_OPTS) install \
+ $(GRADLE) $(GRADLE_OPTS) publishToMavenLocal \
-Prelease=true \
-Pinstall.path=$(DESTDIR)$(JAVA_PREFIX) \
-Pinstall.javadoc.path=$(DESTDIR)$(docdir)/java \
@@ -51,7 +51,7 @@ check-local: $(THRIFT)
--console=plain
maven-publish:
- $(GRADLE) $(GRADLE_OPTS) uploadArchives \
+ $(GRADLE) $(GRADLE_OPTS) publish \
-Prelease=true \
-Pthrift.version=$(PACKAGE_VERSION) \
--console=plain
diff --git a/lib/java/README.md b/lib/java/README.md
index 214ac90b8..d60dbb70e 100644
--- a/lib/java/README.md
+++ b/lib/java/README.md
@@ -42,7 +42,7 @@ The Thrift Java source is not build using the GNU tools, but rather uses
the Gradle build system, which tends to be predominant amongst Java
developers.
-Currently we use gradle 6.9.2 to build the Thrift Java source. The usual way to setup gradle
+Currently we use gradle 7.4.2 to build the Thrift Java source. The usual way to setup gradle
project is to include the gradle-wrapper.jar in the project and then run the gradle wrapper to
bootstrap setting up gradle binaries. However to avoid putting binary files into the source tree we
have ignored the gradle wrapper files. You are expected to install it manually, as described in
@@ -50,13 +50,13 @@ the [gradle documentation](https://docs.gradle.org/current/userguide/installatio
following this step (which is also done in the travis CI docker images):
```bash
-export GRADLE_VERSION="6.9.2"
+export GRADLE_VERSION="7.4.2"
# install dependencies
apt-get install -y --no-install-recommends openjdk-11-jdk-headless wget unzip
# download gradle distribution
wget https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip -q -O /tmp/gradle-$GRADLE_VERSION-bin.zip
# check binary integrity
-echo "8b356fd8702d5ffa2e066ed0be45a023a779bba4dd1a68fd11bc2a6bdc981e8f /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -
+echo "29e49b10984e585d8118b7d0bc452f944e386458df27371b49b4ac1dec4b7fda /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -
# unzip and install
unzip -d /tmp /tmp/gradle-$GRADLE_VERSION-bin.zip
mv /tmp/gradle-$GRADLE_VERSION /usr/local/gradle
@@ -103,7 +103,7 @@ To install the library in the local Maven repository location
where other Maven or Gradle builds can reference it simply do this.
```bash
-gradle install
+gradle publishToMavenLocal
```
The library will be placed in your home directory under .m2/repository
@@ -163,7 +163,7 @@ make maven-publish -- This is for an Automake Linux build
make MavenPublish -- This is for a CMake generated build
```
-The uploadArchives task in Gradle is preconfigured with all necessary details
+The `publish` task in Gradle is preconfigured with all necessary details
to sign and publish the artifacts from the build to the Apache Maven staging
repository. The task requires the following externally provided properties to
authenticate to the repository and sign the artifacts. The preferred approach
@@ -190,7 +190,7 @@ With the key information and credentials in place the following will generate
if needed the build artifacts and proceed to publish the results.
```bash
-gradle -Prelease=true uploadArchives
+gradle -Prelease=true publish
```
It is also possible to override the target repository for the Maven Publication
@@ -205,7 +205,7 @@ maven-repository-url=https://my.company.com/service/local/staging/deploy/maven2
Or the same on the command line:
```bash
-gradle -Pmaven-repository-url=https://my.company.com/service/local/staging/deploy/maven2 -Prelease=true -Pthrift.version=0.11.0 uploadArchives
+gradle -Pmaven-repository-url=https://my.company.com/service/local/staging/deploy/maven2 -Prelease=true -Pthrift.version=0.11.0 publish
```
diff --git a/lib/java/build.gradle b/lib/java/build.gradle
index 3e750fddc..82064114b 100644
--- a/lib/java/build.gradle
+++ b/lib/java/build.gradle
@@ -37,11 +37,11 @@ buildscript {
plugins {
id 'java-library'
- id 'maven'
+ id 'maven-publish'
id 'signing'
id 'com.github.johnrengelman.shadow' version '6.1.0'
id "com.github.spotbugs" version "4.7.1"
- id "com.diffplug.spotless" version "6.4.2"
+ id "com.diffplug.spotless" version "6.5.2"
}
description = 'Apache Thrift Java Library'
@@ -60,7 +60,6 @@ if (Boolean.parseBoolean(project.release)) {
// Keeping the rest of the build logic in functional named scripts for clarity
apply from: 'gradle/environment.gradle'
apply from: 'gradle/sourceConfiguration.gradle'
-apply from: 'gradle/additionalArtifacts.gradle'
apply from: 'gradle/generateTestThrift.gradle'
apply from: 'gradle/unitTests.gradle'
apply from: 'gradle/cloverCoverage.gradle'
diff --git a/lib/java/gradle/additionalArtifacts.gradle b/lib/java/gradle/additionalArtifacts.gradle
deleted file mode 100644
index 201469da1..000000000
--- a/lib/java/gradle/additionalArtifacts.gradle
+++ /dev/null
@@ -1,40 +0,0 @@
-/*
- * 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.
- */
-
-// Following Gradle best practices to keep build logic organized
-
-task sourcesJar(type: Jar, group: 'Build') {
- description = 'Assembles a jar archive containing the main Java sources.'
-
- classifier 'sources'
- from sourceSets.main.allSource
-}
-
-task javadocJar(type: Jar, dependsOn: javadoc, group: 'Build') {
- description = 'Assembles a jar archive containing the JavaDoc.'
-
- classifier 'javadoc'
- from javadoc.destinationDir
-}
-
-artifacts {
- archives sourcesJar
- archives javadocJar
-}
-
diff --git a/lib/java/gradle/codeQualityChecks.gradle b/lib/java/gradle/codeQualityChecks.gradle
index f633413cd..b8d13f959 100644
--- a/lib/java/gradle/codeQualityChecks.gradle
+++ b/lib/java/gradle/codeQualityChecks.gradle
@@ -39,8 +39,8 @@ pmd {
tasks.withType(Pmd) {
reports {
- html.enabled = true
- xml.enabled = false
+ html.required = true
+ xml.required = false
}
}
diff --git a/lib/java/gradle/functionalTests.gradle b/lib/java/gradle/functionalTests.gradle
index e8a3e8955..0c27078d0 100644
--- a/lib/java/gradle/functionalTests.gradle
+++ b/lib/java/gradle/functionalTests.gradle
@@ -67,7 +67,6 @@ shadowJar {
dependsOn 'generateRunnerScriptForClient', 'generateRunnerScriptForServer', 'generateRunnerScriptForNonblockingServer', 'generateRunnerScriptForTServletServer'
archiveBaseName.set('functionalTest')
destinationDirectory = file("$buildDir/functionalTestJar")
- archiveClassifier.set(null)
// We do not need a version number for this internal jar
archiveVersion.set(null)
// Bundle the complete set of unit test classes including generated code
diff --git a/lib/java/gradle/publishing.gradle b/lib/java/gradle/publishing.gradle
index 7be7de40e..91f456add 100644
--- a/lib/java/gradle/publishing.gradle
+++ b/lib/java/gradle/publishing.gradle
@@ -27,7 +27,7 @@ task installDist(type: Copy, group: 'Install') {
destinationDir = file(installPath)
from jar
- from configurations.compile
+ from configurations.implementation
}
task installJavadoc(type: Copy, group: 'Install', dependsOn: javadoc) {
@@ -38,84 +38,66 @@ task installJavadoc(type: Copy, group: 'Install', dependsOn: javadoc) {
from javadoc.destinationDir
}
-// This is not needed by Gradle builds but the remaining Ant builds seem to
-// need access to the generated test classes for Thrift unit tests so we
-// assist them to use it this way.
-task copyDependencies(type: Copy, group: 'Build') {
- description = 'Copy runtime dependencies in a common location for other Ant based projects'
- project.assemble.dependsOn it
-
- destinationDir = file("$buildDir/deps")
- from configurations.testRuntime
- // exclude some very specific unit test dependencies
- exclude '**/junit*.jar', '**/mockito*.jar', '**/hamcrest*.jar'
+java {
+ withJavadocJar()
+ withSourcesJar()
}
-// ----------------------------------------------------------------------------
-// Allow this configuration to be shared between install and uploadArchives tasks
-def configurePom(pom) {
- pom.project {
- name 'Apache Thrift'
- description 'Thrift is a software framework for scalable cross-language services development.'
- packaging 'jar'
- url 'http://thrift.apache.org'
-
- scm {
- url 'https://github.com/apache/thrift'
- connection 'scm:git:https://github.com/apache/thrift.git'
- developerConnection 'scm:git:git@github.com:apache/thrift.git'
- }
-
- licenses {
- license {
- name 'The Apache Software License, Version 2.0'
- url "${project.license}"
- distribution 'repo'
- }
- }
-
- developers {
- developer {
- id 'dev'
- name 'Apache Thrift Developers'
- email 'dev@thrift.apache.org'
+publishing {
+ publications {
+ mavenJava(MavenPublication) {
+ artifactId = "libthrift"
+ // explicitly set 3 jars because calling "from components.java" will include shadow jar which isn't what we want
+ artifact jar
+ artifact sourcesJar
+ artifact javadocJar
+ pom {
+ name = 'Apache Thrift'
+ description = 'Thrift is a software framework for scalable cross-language services development.'
+ url = 'http://thrift.apache.org'
+ licenses {
+ license {
+ name = 'The Apache Software License, Version 2.0'
+ url = "${project.license}"
+ distribution = 'repo'
+ }
+ }
+ developers {
+ developer {
+ id = 'dev'
+ name = 'Apache Thrift Developers'
+ email = 'dev@thrift.apache.org'
+ }
+ }
+ scm {
+ url = 'https://github.com/apache/thrift'
+ connection = 'scm:git:https://github.com/apache/thrift.git'
+ developerConnection = 'scm:git:git@github.com:apache/thrift.git'
+ }
}
}
}
-
- pom.whenConfigured {
- // Fixup the scope for servlet-api to be 'provided' instead of 'compile'
- dependencies.find { dep -> dep.groupId == 'javax.servlet' && dep.artifactId == 'javax.servlet-api' }.with {
- if(it != null) {
- // it.optional = true
- it.scope = 'provided'
+ repositories {
+ maven {
+ url = mavenRepositoryUrl
+ if (project.hasProperty("mavenUser") && project.hasProperty("mavenPassword")) {
+ credentials {
+ username = mavenUser
+ password = mavenPassword
+ }
}
}
}
}
-install {
- repositories.mavenInstaller {
- configurePom(pom)
- }
+// Signing configuration, optional, only when release and publish is activated
+signing {
+ required { !version.endsWith("SNAPSHOT") && gradle.taskGraph.hasTask("publish") }
+ sign publishing.publications.mavenJava
}
-uploadArchives {
- dependsOn test // make sure we run unit tests when publishing
- repositories.mavenDeployer {
- // signPom will silently do nothing when no signing information is provided
- beforeDeployment { MavenDeployment deployment -> signing.signPom(deployment) }
- repository(url: project.mavenRepositoryUrl) {
- if (project.hasProperty('mavenUser') && project.hasProperty('mavenPassword')) {
- authentication(userName: mavenUser, password: mavenPassword)
- }
- }
- configurePom(pom)
+javadoc {
+ if(JavaVersion.current().isJava9Compatible()) {
+ options.addBooleanOption('html5', true)
}
}
-
-// Signing configuration, optional, only when release and uploadArchives is activated
-signing {
- required { !version.endsWith("SNAPSHOT") && gradle.taskGraph.hasTask("uploadArchives") }
- sign configurations.archives
-}
diff --git a/lib/java/gradle/sourceConfiguration.gradle b/lib/java/gradle/sourceConfiguration.gradle
index 827e926d4..97ce1b9a2 100644
--- a/lib/java/gradle/sourceConfiguration.gradle
+++ b/lib/java/gradle/sourceConfiguration.gradle
@@ -70,7 +70,7 @@ jar {
"Bundle-Description": "Apache Thrift library",
"Bundle-License": "${project.license}",
"Bundle-ActivationPolicy": "lazy",
- "Export-Package": "${project.group}.async;uses:=\"${project.group}.protocol,${project.group}.transport,org.slf4j,${project.group}\";version=\"${version}\",${project.group}.protocol;uses:=\"${project.group}.transport,${project.group},${project.group}.scheme\";version=\"${version}\",${project.group}.server;uses:=\"${project.group}.transport,${project.group}.protocol,${project.group},org.slf4j,javax.servlet,javax.servlet.http\";version=\"${version}\",${project.group}.transport;uses:=\"${project.group}.protocol,${project.group},org.apache.http.client,org.apache.http.params,org.apache.http.entity,org.apache.http.client.methods,org.apache.http,org.slf4j,javax.net.ssl,javax.net,javax.security.sasl,javax.security.auth.callback\";version=\"${version}\",${project.group};uses:=\"${project.group}.protocol,${project.group}.async,${project.group}.server,${project.group}.transport,org.slf4j,org.apache.log4j,${project.group}.scheme\";version=\"${version}\",${project.group}.meta_data;uses:=\"${project.group}\";version=\"${version}\",${project.group}.scheme;uses:=\"${project.group}.protocol,${project.group}\";version=\"${version}\",${project.group}.annotation;version=\"${version}\"",
+ "Export-Package": "${project.group}.async;uses:=\"${project.group}.protocol,${project.group}.transport,org.slf4j,${project.group}\";version=\"${archiveVersion}\",${project.group}.protocol;uses:=\"${project.group}.transport,${project.group},${project.group}.scheme\";version=\"${archiveVersion}\",${project.group}.server;uses:=\"${project.group}.transport,${project.group}.protocol,${project.group},org.slf4j,javax.servlet,javax.servlet.http\";version=\"${archiveVersion}\",${project.group}.transport;uses:=\"${project.group}.protocol,${project.group},org.apache.http.client,org.apache.http.params,org.apache.http.entity,org.apache.http.client.methods,org.apache.http,org.slf4j,javax.net.ssl,javax.net,javax.security.sasl,javax.security.auth.callback\";version=\"${archiveVersion}\",${project.group};uses:=\"${project.group}.protocol,${project.group}.async,${project.group}.server,${project.group}.transport,org.slf4j,org.apache.log4j,${project.group}.scheme\";version=\"${archiveVersion}\",${project.group}.meta_data;uses:=\"${project.group}\";version=\"${archiveVersion}\",${project.group}.scheme;uses:=\"${project.group}.protocol,${project.group}\";version=\"${archiveVersion}\",${project.group}.annotation;version=\"${archiveVersion}\"",
"Import-Package": "javax.net,javax.net.ssl,javax.security.auth.callback,javax.security.sasl,javax.servlet;resolution:=optional,javax.servlet.http;resolution:=optional,org.slf4j;resolution:=optional;version=\"[1.4,2)\",org.apache.http.client;resolution:=optional,org.apache.http.params;resolution:=optional,org.apache.http.entity;resolution:=optional,org.apache.http.client.methods;resolution:=optional,org.apache.http;resolution:=optional"
])
}
diff --git a/lib/java/gradle/unitTests.gradle b/lib/java/gradle/unitTests.gradle
index 0f09aa9cb..db9ad8294 100644
--- a/lib/java/gradle/unitTests.gradle
+++ b/lib/java/gradle/unitTests.gradle
@@ -44,14 +44,14 @@ ext.markTaskDone = { task ->
task deprecatedEqualityTest(type: JavaExec, group: 'Verification') {
description = 'Run the non-JUnit test suite '
classpath = sourceSets.test.runtimeClasspath
- main 'org.apache.thrift.test.EqualityTest'
+ mainClass.set('org.apache.thrift.test.EqualityTest')
markTaskDone(it)
}
task deprecatedJavaBeansTest(type: JavaExec, group: 'Verification') {
description = 'Run the non-JUnit test suite '
classpath = sourceSets.test.runtimeClasspath
- main 'org.apache.thrift.test.JavaBeansTest'
+ mainClass.set('org.apache.thrift.test.JavaBeansTest')
markTaskDone(it)
}
diff --git a/lib/java/src/main/java/org/apache/thrift/server/TExtensibleServlet.java b/lib/java/src/main/java/org/apache/thrift/server/TExtensibleServlet.java
index 5773e9c3c..5c141000a 100644
--- a/lib/java/src/main/java/org/apache/thrift/server/TExtensibleServlet.java
+++ b/lib/java/src/main/java/org/apache/thrift/server/TExtensibleServlet.java
@@ -99,7 +99,9 @@ public abstract class TExtensibleServlet extends HttpServlet {
}
}
- /** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */
+ /**
+ * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
+ */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
@@ -132,7 +134,9 @@ public abstract class TExtensibleServlet extends HttpServlet {
}
}
- /** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */
+ /**
+ * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
+ */
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
diff --git a/lib/java/src/main/java/org/apache/thrift/server/TServlet.java b/lib/java/src/main/java/org/apache/thrift/server/TServlet.java
index 0f233fac4..c025a498e 100644
--- a/lib/java/src/main/java/org/apache/thrift/server/TServlet.java
+++ b/lib/java/src/main/java/org/apache/thrift/server/TServlet.java
@@ -28,7 +28,9 @@ public class TServlet extends HttpServlet {
private final Collection<Map.Entry<String, String>> customHeaders;
- /** @see HttpServlet#HttpServlet() */
+ /**
+ * @see HttpServlet#HttpServlet()
+ */
public TServlet(
TProcessor processor,
TProtocolFactory inProtocolFactory,
@@ -40,12 +42,16 @@ public class TServlet extends HttpServlet {
this.customHeaders = new ArrayList<Map.Entry<String, String>>();
}
- /** @see HttpServlet#HttpServlet() */
+ /**
+ * @see HttpServlet#HttpServlet()
+ */
public TServlet(TProcessor processor, TProtocolFactory protocolFactory) {
this(processor, protocolFactory, protocolFactory);
}
- /** @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response) */
+ /**
+ * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
+ */
@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
@@ -78,7 +84,9 @@ public class TServlet extends HttpServlet {
}
}
- /** @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response) */
+ /**
+ * @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
+ */
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
doPost(request, response);
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/AutoExpandingBufferWriteTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/AutoExpandingBufferWriteTransport.java
index 741d629ae..4888481f0 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/AutoExpandingBufferWriteTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/AutoExpandingBufferWriteTransport.java
@@ -80,7 +80,9 @@ public final class AutoExpandingBufferWriteTransport extends TEndpointTransport
return buf;
}
- /** @return length of the buffer, including any front reserve */
+ /**
+ * @return length of the buffer, including any front reserve
+ */
public int getLength() {
return pos;
}
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/TIOStreamTransport.java b/lib/java/src/main/java/org/apache/thrift/transport/TIOStreamTransport.java
index edfd1f414..af745b8b5 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/TIOStreamTransport.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/TIOStreamTransport.java
@@ -125,7 +125,9 @@ public class TIOStreamTransport extends TEndpointTransport {
outputStream_ = os;
}
- /** @return false after close is called. */
+ /**
+ * @return false after close is called.
+ */
public boolean isOpen() {
return inputStream_ != null || outputStream_ != null;
}
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/FixedSizeHeaderReader.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/FixedSizeHeaderReader.java
index 4f90faf85..b89484ab3 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/FixedSizeHeaderReader.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/FixedSizeHeaderReader.java
@@ -59,7 +59,9 @@ public abstract class FixedSizeHeaderReader implements FrameHeaderReader {
return true;
}
- /** @return Size of the header. */
+ /**
+ * @return Size of the header.
+ */
protected abstract int headerSize();
/**
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameHeaderReader.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameHeaderReader.java
index d618346a4..dd79bc42a 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameHeaderReader.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameHeaderReader.java
@@ -41,7 +41,9 @@ public interface FrameHeaderReader {
*/
byte[] toBytes();
- /** @return true if this header has all its fields set. */
+ /**
+ * @return true if this header has all its fields set.
+ */
boolean isComplete();
/** Clear the header and make it available to read a new header. */
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameReader.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameReader.java
index 1f5872c30..5491ed8e1 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameReader.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameReader.java
@@ -86,27 +86,37 @@ public abstract class FrameReader<T extends FrameHeaderReader> {
return payload.hasRemaining();
}
- /** @return header of the frame */
+ /**
+ * @return header of the frame
+ */
public T getHeader() {
return header;
}
- /** @return number of bytes of the header */
+ /**
+ * @return number of bytes of the header
+ */
public int getHeaderSize() {
return header.toBytes().length;
}
- /** @return byte array of the payload */
+ /**
+ * @return byte array of the payload
+ */
public byte[] getPayload() {
return payload.array();
}
- /** @return size of the payload */
+ /**
+ * @return size of the payload
+ */
public int getPayloadSize() {
return header.payloadSize();
}
- /** @return true if the reader has fully read a frame */
+ /**
+ * @return true if the reader has fully read a frame
+ */
public boolean isComplete() {
return !(payload == null || payload.hasRemaining());
}
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameWriter.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameWriter.java
index bae6d4999..4af4aa099 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameWriter.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/FrameWriter.java
@@ -113,7 +113,9 @@ public abstract class FrameWriter {
transport.write(frameBytes);
}
- /** @return true when no more data needs to be written out */
+ /**
+ * @return true when no more data needs to be written out
+ */
public boolean isComplete() {
return frameBytes == null || !frameBytes.hasRemaining();
}
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/NonblockingSaslHandler.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/NonblockingSaslHandler.java
index 2557a4285..44862d2c9 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/NonblockingSaslHandler.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/NonblockingSaslHandler.java
@@ -123,17 +123,23 @@ public class NonblockingSaslHandler {
return nextPhase;
}
- /** @return underlying nonblocking socket */
+ /**
+ * @return underlying nonblocking socket
+ */
public TNonblockingTransport getUnderlyingTransport() {
return underlyingTransport;
}
- /** @return SaslServer instance */
+ /**
+ * @return SaslServer instance
+ */
public SaslServer getSaslServer() {
return saslPeer.getSaslServer();
}
- /** @return true if current phase is done. */
+ /**
+ * @return true if current phase is done.
+ */
public boolean isCurrentPhaseDone() {
return currentPhase != nextPhase;
}
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslPeer.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslPeer.java
index 9a9e733da..83515b87c 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslPeer.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/SaslPeer.java
@@ -33,7 +33,9 @@ public interface SaslPeer {
*/
byte[] evaluate(byte[] negotiationMessage) throws TSaslNegotiationException;
- /** @return true if authentication is done. */
+ /**
+ * @return true if authentication is done.
+ */
boolean isAuthenticated();
/**
diff --git a/lib/java/src/main/java/org/apache/thrift/transport/sasl/TSaslNegotiationException.java b/lib/java/src/main/java/org/apache/thrift/transport/sasl/TSaslNegotiationException.java
index 15c597e13..9018e3a7b 100644
--- a/lib/java/src/main/java/org/apache/thrift/transport/sasl/TSaslNegotiationException.java
+++ b/lib/java/src/main/java/org/apache/thrift/transport/sasl/TSaslNegotiationException.java
@@ -40,12 +40,16 @@ public class TSaslNegotiationException extends TTransportException {
return error;
}
- /** @return Errory type plus the message. */
+ /**
+ * @return Errory type plus the message.
+ */
public String getSummary() {
return error.name() + ": " + getMessage();
}
- /** @return Summary and eventually the cause's message. */
+ /**
+ * @return Summary and eventually the cause's message.
+ */
public String getDetails() {
return getCause() == null
? getSummary()