You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by gg...@apache.org on 2020/08/05 12:52:54 UTC
[commons-vfs] branch master updated: Modify some loop use Stream
API (#96)
This is an automated email from the ASF dual-hosted git repository.
ggregory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-vfs.git
The following commit(s) were added to refs/heads/master by this push:
new 8de5087 Modify some loop use Stream API (#96)
8de5087 is described below
commit 8de5087e0b9a77e7a1d00c72151ad9662474452c
Author: Lee <55...@users.noreply.github.com>
AuthorDate: Wed Aug 5 20:52:44 2020 +0800
Modify some loop use Stream API (#96)
---
.../commons/vfs2/impl/DefaultFileSystemManager.java | 16 +++++-----------
.../commons/vfs2/provider/AbstractFileObject.java | 8 +-------
.../commons/vfs2/provider/AbstractFileProvider.java | 8 +++-----
.../commons/vfs2/provider/AbstractVfsContainer.java | 9 +++------
.../vfs2/provider/CompositeFileProvider.java | 9 +++------
.../commons/vfs2/provider/DelegateFileObject.java | 7 ++-----
.../commons/vfs2/provider/hdfs/HdfsFileObject.java | 10 +++-------
.../provider/hdfs/HdfsFileSystemConfigBuilder.java | 7 ++-----
.../vfs2/provider/http4/Http4FileProvider.java | 4 +---
.../vfs2/provider/http5/Http5FileProvider.java | 9 ++-------
.../provider/sftp/SftpFileSystemConfigBuilder.java | 21 +++++----------------
11 files changed, 30 insertions(+), 78 deletions(-)
diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileSystemManager.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileSystemManager.java
index 6fe6273..28ed9f4 100644
--- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileSystemManager.java
+++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/impl/DefaultFileSystemManager.java
@@ -24,6 +24,7 @@ import java.net.URL;
import java.net.URLStreamHandler;
import java.net.URLStreamHandlerFactory;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
@@ -200,9 +201,7 @@ public class DefaultFileSystemManager implements FileSystemManager {
setupComponent(provider);
// Add to map
- for (final String scheme : urlSchemes) {
- providers.put(scheme, provider);
- }
+ Arrays.stream(urlSchemes).forEach(scheme -> providers.put(scheme, provider));
if (provider instanceof LocalFileProvider && localFileProvider == null) {
localFileProvider = (LocalFileProvider) provider;
@@ -523,9 +522,7 @@ public class DefaultFileSystemManager implements FileSystemManager {
// are closed here
// Close the file system providers.
- for (final FileProvider provider : providers.values()) {
- closeComponent(provider);
- }
+ providers.values().forEach(this::closeComponent);
// Close the other components
closeComponent(vfsProvider);
@@ -540,11 +537,8 @@ public class DefaultFileSystemManager implements FileSystemManager {
providers.clear();
// FileOperations are components, too
- for (final List<FileOperationProvider> opproviders : operationProviders.values()) {
- for (final FileOperationProvider p : opproviders) {
- closeComponent(p);
- }
- }
+ operationProviders.values().forEach(opproviders -> opproviders.forEach(this::closeComponent));
+
// unregister all
operationProviders.clear();
diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractFileObject.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractFileObject.java
index 7ab1a50..1ac2677 100644
--- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractFileObject.java
+++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractFileObject.java
@@ -971,13 +971,7 @@ public abstract class AbstractFileObject<AFS extends AbstractFileSystem> impleme
if (objects == null) {
return null;
}
-
- final FileName[] names = new FileName[objects.length];
- for (int iterObjects = 0; iterObjects < objects.length; iterObjects++) {
- names[iterObjects] = objects[iterObjects].getName();
- }
-
- return names;
+ return Arrays.stream(objects).map(FileObject::getName).toArray(FileName[]::new);
}
@Override
diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractFileProvider.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractFileProvider.java
index 23f1f14..f76646d 100644
--- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractFileProvider.java
+++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractFileProvider.java
@@ -16,6 +16,7 @@
*/
package org.apache.commons.vfs2.provider;
+import java.util.Arrays;
import java.util.Map;
import java.util.TreeMap;
@@ -141,11 +142,8 @@ public abstract class AbstractFileProvider extends AbstractVfsContainer implemen
}
// process snapshot outside lock
- for (final AbstractFileSystem fs : abstractFileSystems) {
- if (fs.isReleaseable()) {
- fs.closeCommunicationLink();
- }
- }
+ Arrays.stream(abstractFileSystems).filter(AbstractFileSystem::isReleaseable)
+ .forEach(AbstractFileSystem::closeCommunicationLink);
}
/**
diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractVfsContainer.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractVfsContainer.java
index b10a0a8..8ded1ac 100644
--- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractVfsContainer.java
+++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/AbstractVfsContainer.java
@@ -17,6 +17,7 @@
package org.apache.commons.vfs2.provider;
import java.util.ArrayList;
+import java.util.Arrays;
import org.apache.commons.vfs2.FileSystemException;
@@ -81,11 +82,7 @@ public abstract class AbstractVfsContainer extends AbstractVfsComponent {
}
// Close all components
- for (final Object component : toclose) {
- if (component instanceof VfsComponent) {
- final VfsComponent vfsComponent = (VfsComponent) component;
- vfsComponent.close();
- }
- }
+ Arrays.stream(toclose).filter(component -> component instanceof VfsComponent)
+ .forEach(component -> ((VfsComponent) component).close());
}
}
diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/CompositeFileProvider.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/CompositeFileProvider.java
index 607b0bc..9db2cd2 100644
--- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/CompositeFileProvider.java
+++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/CompositeFileProvider.java
@@ -20,6 +20,8 @@ import org.apache.commons.vfs2.FileObject;
import org.apache.commons.vfs2.FileSystemException;
import org.apache.commons.vfs2.FileSystemOptions;
+import java.util.Arrays;
+
/**
* Description.
*/
@@ -53,12 +55,7 @@ public abstract class CompositeFileProvider extends AbstractFileProvider {
final StringBuilder buf = new StringBuilder(INITIAL_BUFSZ);
UriParser.extractScheme(getContext().getFileSystemManager().getSchemes(), uri, buf);
-
- final String[] schemes = getSchemes();
- for (final String scheme : schemes) {
- buf.insert(0, ":");
- buf.insert(0, scheme);
- }
+ Arrays.stream(getSchemes()).forEach(scheme -> buf.insert(0, scheme + ":"));
final FileObject fo = getContext().getFileSystemManager().resolveFile(buf.toString(), fileSystemOptions);
return fo;
diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/DelegateFileObject.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/DelegateFileObject.java
index 8d60dae..f3113b8 100644
--- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/DelegateFileObject.java
+++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/DelegateFileObject.java
@@ -19,6 +19,7 @@ package org.apache.commons.vfs2.provider;
import java.io.InputStream;
import java.io.OutputStream;
import java.security.cert.Certificate;
+import java.util.Arrays;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@@ -188,11 +189,7 @@ public class DelegateFileObject<AFS extends AbstractFileSystem> extends Abstract
throw new FileNotFolderException(getName(), e);
}
- final String[] childNames = new String[children.length];
- for (int i = 0; i < children.length; i++) {
- childNames[i] = children[i].getName().getBaseName();
- }
- return childNames;
+ return Arrays.stream(children).map(child -> child.getName().getBaseName()).toArray(String[]::new);
}
return children.toArray(new String[children.size()]);
}
diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/hdfs/HdfsFileObject.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/hdfs/HdfsFileObject.java
index 8be836f..cac98a0 100644
--- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/hdfs/HdfsFileObject.java
+++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/hdfs/HdfsFileObject.java
@@ -18,6 +18,7 @@ package org.apache.commons.vfs2.provider.hdfs;
import java.io.FileNotFoundException;
import java.io.InputStream;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;
@@ -192,13 +193,8 @@ public class HdfsFileObject extends AbstractFileObject<HdfsFileSystem> {
throw new FileNotFolderException(this);
}
- final FileStatus[] files = this.hdfs.listStatus(this.path);
- final String[] children = new String[files.length];
- int i = 0;
- for (final FileStatus status : files) {
- children[i++] = status.getPath().getName();
- }
- return children;
+ final FileStatus[] fileStatuses = this.hdfs.listStatus(this.path);
+ return Arrays.stream(fileStatuses).map(status -> status.getPath().getName()).toArray(String[]::new);
}
/**
diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/hdfs/HdfsFileSystemConfigBuilder.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/hdfs/HdfsFileSystemConfigBuilder.java
index de28927..6e0114a 100644
--- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/hdfs/HdfsFileSystemConfigBuilder.java
+++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/hdfs/HdfsFileSystemConfigBuilder.java
@@ -19,6 +19,7 @@ package org.apache.commons.vfs2.provider.hdfs;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
+import java.util.Arrays;
import org.apache.commons.vfs2.FileSystem;
import org.apache.commons.vfs2.FileSystemConfigBuilder;
@@ -122,11 +123,7 @@ public final class HdfsFileSystemConfigBuilder extends FileSystemConfigBuilder {
return null;
}
final String[] paths = pathNames.split(",");
- final Path[] realPaths = new Path[paths.length];
- for (int i = 0; i < paths.length; i++) {
- realPaths[i] = new Path(paths[i]);
- }
- return realPaths;
+ return Arrays.stream(paths).map(Path::new).toArray(Path[]::new);
}
/**
diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http4/Http4FileProvider.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http4/Http4FileProvider.java
index ddb501a..09cc701 100644
--- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http4/Http4FileProvider.java
+++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http4/Http4FileProvider.java
@@ -349,9 +349,7 @@ public class Http4FileProvider extends AbstractOriginatingFileProvider {
final Cookie[] cookies = builder.getCookies(fileSystemOptions);
if (cookies != null) {
- for (final Cookie cookie : cookies) {
- cookieStore.addCookie(cookie);
- }
+ Arrays.stream(cookies).forEach(cookieStore::addCookie);
}
return cookieStore;
diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http5/Http5FileProvider.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http5/Http5FileProvider.java
index b10d36b..7295e6a 100644
--- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http5/Http5FileProvider.java
+++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/http5/Http5FileProvider.java
@@ -307,11 +307,8 @@ public class Http5FileProvider extends AbstractOriginatingFileProvider {
.build();
final String[] tlsVersions = builder.getTlsVersions(fileSystemOptions).split("\\s*,\\s*");
- final TLS[] tlsArray = new TLS[tlsVersions.length];
- for (int i = 0; i < tlsVersions.length; i++) {
- tlsArray[i] = TLS.valueOf(tlsVersions[i]);
- }
+ final TLS[] tlsArray = Arrays.stream(tlsVersions).map(TLS::valueOf).toArray(TLS[]::new);
final SSLConnectionSocketFactory sslSocketFactory = SSLConnectionSocketFactoryBuilder.create()
.setSslContext(createSSLContext(builder, fileSystemOptions))
@@ -363,9 +360,7 @@ public class Http5FileProvider extends AbstractOriginatingFileProvider {
final Cookie[] cookies = builder.getCookies(fileSystemOptions);
if (cookies != null) {
- for (final Cookie cookie : cookies) {
- cookieStore.addCookie(cookie);
- }
+ Arrays.stream(cookies).forEach(cookieStore::addCookie);
}
return cookieStore;
diff --git a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/sftp/SftpFileSystemConfigBuilder.java b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/sftp/SftpFileSystemConfigBuilder.java
index 7b4ee64..8c4da17 100644
--- a/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/sftp/SftpFileSystemConfigBuilder.java
+++ b/commons-vfs2/src/main/java/org/apache/commons/vfs2/provider/sftp/SftpFileSystemConfigBuilder.java
@@ -19,6 +19,7 @@ package org.apache.commons.vfs2.provider.sftp;
import java.io.File;
import java.io.Serializable;
import java.util.ArrayList;
+import java.util.Arrays;
import java.util.List;
import org.apache.commons.vfs2.FileSystem;
@@ -206,11 +207,7 @@ public final class SftpFileSystemConfigBuilder extends FileSystemConfigBuilder {
public File[] getIdentities(final FileSystemOptions opts) {
final IdentityInfo[] info = getIdentityInfo(opts);
if (info != null) {
- final File[] files = new File[info.length];
- for (int i = 0; i < files.length; ++i) {
- files[i] = info[i].getPrivateKey();
- }
- return files;
+ return Arrays.stream(info).map(IdentityInfo::getPrivateKey).toArray(File[]::new);
}
return null;
}
@@ -225,13 +222,8 @@ public final class SftpFileSystemConfigBuilder extends FileSystemConfigBuilder {
public IdentityInfo[] getIdentityInfo(final FileSystemOptions opts) {
final IdentityProvider[] infos = getIdentityProvider(opts);
if (infos != null) {
- final List<IdentityInfo> list = new ArrayList<>(infos.length);
- for (final IdentityProvider identityProvider : infos) {
- if (identityProvider instanceof IdentityInfo) {
- list.add((IdentityInfo) identityProvider);
- }
- }
- return list.toArray(new IdentityInfo[list.size()]);
+ return Arrays.stream(infos).filter(info -> info instanceof IdentityInfo)
+ .map(info -> (IdentityInfo) info).toArray(IdentityInfo[]::new);
}
return null;
}
@@ -535,10 +527,7 @@ public final class SftpFileSystemConfigBuilder extends FileSystemConfigBuilder {
public void setIdentities(final FileSystemOptions opts, final File... identityFiles) throws FileSystemException {
IdentityProvider[] info = null;
if (identityFiles != null) {
- info = new IdentityProvider[identityFiles.length];
- for (int i = 0; i < identityFiles.length; i++) {
- info[i] = new IdentityInfo(identityFiles[i]);
- }
+ info = Arrays.stream(identityFiles).map(IdentityInfo::new).toArray(IdentityProvider[]::new);
}
this.setParam(opts, IDENTITIES, info);
}