You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@zookeeper.apache.org by sy...@apache.org on 2020/10/06 10:40:08 UTC
[zookeeper] branch master updated: ZOOKEEPER-3952: Remove
commons-lang from ZooKeeper
This is an automated email from the ASF dual-hosted git repository.
symat pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/zookeeper.git
The following commit(s) were added to refs/heads/master by this push:
new d3282c6 ZOOKEEPER-3952: Remove commons-lang from ZooKeeper
d3282c6 is described below
commit d3282c62ddb30a8ce265dcebca0e106c51f07ca3
Author: Tamas Penzes <ta...@cloudera.com>
AuthorDate: Tue Oct 6 10:39:37 2020 +0000
ZOOKEEPER-3952: Remove commons-lang from ZooKeeper
Removed commons-lang from main project, replaced functionality with standard Java code.
Author: Tamas Penzes <ta...@cloudera.com>
Reviewers: Christopher Tubbs <ct...@apache.org>, Enrico Olivelli <eo...@apache.org>, Mate Szalay-Beko <sy...@apache.org>, tison <wa...@gmail.com>
Closes #1478 from tamaashu/ZOOKEEPER-3952
---
pom.xml | 48 +++++++++++++++++++---
.../zookeeper-contrib-zooinspector/ivy.xml | 8 +---
.../zookeeper-contrib-zooinspector/pom.xml | 6 ---
zookeeper-server/pom.xml | 4 --
.../java/org/apache/zookeeper/common/PathTrie.java | 23 +++++++----
.../zookeeper/server/FinalRequestProcessor.java | 3 +-
6 files changed, 60 insertions(+), 32 deletions(-)
diff --git a/pom.xml b/pom.xml
index b994523..5c95183 100755
--- a/pom.xml
+++ b/pom.xml
@@ -444,10 +444,10 @@
<kerby.version>2.0.0</kerby.version>
<bouncycastle.version>1.60</bouncycastle.version>
<commons-collections.version>3.2.2</commons-collections.version>
- <commons-lang.version>2.6</commons-lang.version>
<dropwizard.version>3.2.5</dropwizard.version>
<spotbugsannotations.version>4.0.2</spotbugsannotations.version>
<checkstyle.version>8.17</checkstyle.version>
+ <enforcer.version>3.0.0-M3</enforcer.version>
<!-- parameters to pass to C client build -->
<c-client-openssl>yes</c-client-openssl>
@@ -468,11 +468,6 @@
<version>${commons-collections.version}</version>
</dependency>
<dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>${commons-lang.version}</version>
- </dependency>
- <dependency>
<groupId>org.apache.yetus</groupId>
<artifactId>audience-annotations</artifactId>
<version>${audience-annotations.version}</version>
@@ -1046,6 +1041,47 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-enforcer-plugin</artifactId>
+ <version>${enforcer.version}</version>
+ <executions>
+ <execution>
+ <id>banned-commons-lang</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <bannedDependencies>
+ <excludes>
+ <exclude>commons-lang:commons-lang</exclude>
+ </excludes>
+ <searchTransitive>false</searchTransitive>
+ <message>We don't use commons-lang any more, so do not depend on it directly.</message>
+ </bannedDependencies>
+ </rules>
+ </configuration>
+ </execution>
+ <execution>
+ <id>banned-commons-lang3</id>
+ <goals>
+ <goal>enforce</goal>
+ </goals>
+ <configuration>
+ <rules>
+ <bannedDependencies>
+ <excludes>
+ <exclude>org.apache.commons:commons-lang3</exclude>
+ </excludes>
+ <searchTransitive>false</searchTransitive>
+ <message>We don't use commons-lang3, so do not depend on it directly.</message>
+ </bannedDependencies>
+ </rules>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
<resources>
<resource>
diff --git a/zookeeper-contrib/zookeeper-contrib-zooinspector/ivy.xml b/zookeeper-contrib/zookeeper-contrib-zooinspector/ivy.xml
index d841d18..96acdde 100644
--- a/zookeeper-contrib/zookeeper-contrib-zooinspector/ivy.xml
+++ b/zookeeper-contrib/zookeeper-contrib-zooinspector/ivy.xml
@@ -39,12 +39,8 @@
<dependency org="log4j" name="log4j" rev="1.2.17" transitive="false"/>
<dependency org="junit" name="junit" rev="4.12" conf="test->default"/>
- <dependency org="org.apache.rat" name="apache-rat-tasks"
- rev="0.6" conf="releaseaudit->default"/>
- <dependency org="commons-lang" name="commons-lang"
- rev="2.4" conf="releaseaudit->default"/>
- <dependency org="commons-collections" name="commons-collections"
- rev="3.2.2" conf="releaseaudit->default"/>
+ <dependency org="org.apache.rat" name="apache-rat-tasks" rev="0.6" conf="releaseaudit->default"/>
+ <dependency org="commons-collections" name="commons-collections" rev="3.2.2" conf="releaseaudit->default"/>
</dependencies>
</ivy-module>
diff --git a/zookeeper-contrib/zookeeper-contrib-zooinspector/pom.xml b/zookeeper-contrib/zookeeper-contrib-zooinspector/pom.xml
index c9f3b1e..b517441 100755
--- a/zookeeper-contrib/zookeeper-contrib-zooinspector/pom.xml
+++ b/zookeeper-contrib/zookeeper-contrib-zooinspector/pom.xml
@@ -35,7 +35,6 @@
<properties>
<rat.version>0.6</rat.version>
- <commons-lang.version>2.4</commons-lang.version>
<guava.version>18.0</guava.version>
</properties>
@@ -85,11 +84,6 @@
<version>${rat.version}</version>
</dependency>
<dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>${commons-lang.version}</version>
- </dependency>
- <dependency>
<groupId>commons-collections</groupId>
<artifactId>commons-collections</artifactId>
</dependency>
diff --git a/zookeeper-server/pom.xml b/zookeeper-server/pom.xml
index 5cdb8b3..5dbc028 100755
--- a/zookeeper-server/pom.xml
+++ b/zookeeper-server/pom.xml
@@ -49,10 +49,6 @@
<scope>test</scope>
</dependency>
<dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- </dependency>
- <dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper-jute</artifactId>
<version>${project.version}</version>
diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/common/PathTrie.java b/zookeeper-server/src/main/java/org/apache/zookeeper/common/PathTrie.java
index 95258b2..86acdd9 100644
--- a/zookeeper-server/src/main/java/org/apache/zookeeper/common/PathTrie.java
+++ b/zookeeper-server/src/main/java/org/apache/zookeeper/common/PathTrie.java
@@ -27,7 +27,7 @@
import java.util.concurrent.locks.Lock;
import java.util.concurrent.locks.ReadWriteLock;
import java.util.concurrent.locks.ReentrantReadWriteLock;
- import org.apache.commons.lang.StringUtils;
+ import java.util.stream.Stream;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -203,10 +203,10 @@
public void addPath(final String path) {
Objects.requireNonNull(path, "Path cannot be null");
- final String[] pathComponents = StringUtils.split(path, '/');
- if (pathComponents.length == 0) {
+ if (path.length() == 0) {
throw new IllegalArgumentException("Invalid path: " + path);
}
+ final String[] pathComponents = split(path);
writeLock.lock();
try {
@@ -233,10 +233,11 @@
public void deletePath(final String path) {
Objects.requireNonNull(path, "Path cannot be null");
- final String[] pathComponents = StringUtils.split(path, '/');
- if (pathComponents.length == 0) {
+ if (path.length() == 0) {
throw new IllegalArgumentException("Invalid path: " + path);
}
+ final String[] pathComponents = split(path);
+
writeLock.lock();
try {
@@ -267,10 +268,10 @@
public boolean existsNode(final String path) {
Objects.requireNonNull(path, "Path cannot be null");
- final String[] pathComponents = StringUtils.split(path, '/');
- if (pathComponents.length == 0) {
+ if (path.length() == 0) {
throw new IllegalArgumentException("Invalid path: " + path);
}
+ final String[] pathComponents = split(path);
readLock.lock();
try {
@@ -299,7 +300,7 @@
public String findMaxPrefix(final String path) {
Objects.requireNonNull(path, "Path cannot be null");
- final String[] pathComponents = StringUtils.split(path, '/');
+ final String[] pathComponents = split(path);
readLock.lock();
try {
@@ -344,4 +345,10 @@
}
}
+ private static String[] split(final String path){
+ return Stream.of(path.split("/"))
+ .filter(t -> !t.trim().isEmpty())
+ .toArray(String[]::new);
+ }
+
}
diff --git a/zookeeper-server/src/main/java/org/apache/zookeeper/server/FinalRequestProcessor.java b/zookeeper-server/src/main/java/org/apache/zookeeper/server/FinalRequestProcessor.java
index a23e903..26d5baf 100644
--- a/zookeeper-server/src/main/java/org/apache/zookeeper/server/FinalRequestProcessor.java
+++ b/zookeeper-server/src/main/java/org/apache/zookeeper/server/FinalRequestProcessor.java
@@ -25,7 +25,6 @@ import java.util.Collections;
import java.util.List;
import java.util.Locale;
import java.util.Set;
-import org.apache.commons.lang.StringUtils;
import org.apache.jute.Record;
import org.apache.zookeeper.ClientCnxn;
import org.apache.zookeeper.KeeperException;
@@ -554,7 +553,7 @@ public class FinalRequestProcessor implements RequestProcessor {
String prefixPath = getEphemerals.getPrefixPath();
Set<String> allEphems = zks.getZKDatabase().getDataTree().getEphemerals(request.sessionId);
List<String> ephemerals = new ArrayList<>();
- if (StringUtils.isBlank(prefixPath) || "/".equals(prefixPath.trim())) {
+ if (prefixPath == null || prefixPath.trim().isEmpty() || "/".equals(prefixPath.trim())) {
ephemerals.addAll(allEphems);
} else {
for (String p : allEphems) {