CPD Results
The following document contains the results of PMD's CPD 6.36.0.
Duplications
File |
Project |
Line |
org/apache/commons/vfs2/provider/http4/Http4FileSystemConfigBuilder.java |
Apache Commons VFS |
438 |
org/apache/commons/vfs2/provider/http5/Http5FileSystemConfigBuilder.java |
Apache Commons VFS |
471 |
setConnectionTimeout(opts, Duration.ofMillis(connectionTimeout));
}
/**
* The cookies to add to the request.
*
* @param opts The FileSystem options.
* @param cookies An array of Cookies.
*/
public void setCookies(final FileSystemOptions opts, final Cookie[] cookies) {
setParam(opts, "cookies", cookies);
}
/**
* Sets whether to follow redirects for the connection.
*
* @param opts The FileSystem options.
* @param redirect {@code true} to follow redirects, {@code false} not to.
* @see #setFollowRedirect
*/
public void setFollowRedirect(final FileSystemOptions opts, final boolean redirect) {
setParam(opts, KEY_FOLLOW_REDIRECT, redirect);
}
/**
* Sets if the hostname should be verified in SSL context.
*
* @param opts The FileSystemOptions.
* @param hostnameVerificationEnabled whether hostname should be verified
*/
public void setHostnameVerificationEnabled(final FileSystemOptions opts, final boolean hostnameVerificationEnabled) {
setParam(opts, HOSTNAME_VERIFICATION_ENABLED, Boolean.valueOf(hostnameVerificationEnabled));
}
/**
* Sets if the FileSystemOptions indicate that HTTP Keep-Alive is respected.
*
* @param opts The FileSystemOptions.
* @param keepAlive whether the FileSystemOptions indicate that HTTP Keep-Alive is respected or not.
*/
public void setKeepAlive(final FileSystemOptions opts, final boolean keepAlive) {
setParam(opts, KEEP_ALIVE, Boolean.valueOf(keepAlive));
}
/**
* Set keystore file path for SSL connections.
* @param opts the file system options to modify
* @param keyStoreFile keystore file path
*/
public void setKeyStoreFile(final FileSystemOptions opts, final String keyStoreFile) {
setParam(opts, KEYSTORE_FILE, keyStoreFile);
}
/**
* Set keystore pass phrase for SSL connecdtions.
* @param opts the file system options to modify
* @param keyStorePass keystore pass phrase for SSL connecdtions
*/
public void setKeyStorePass(final FileSystemOptions opts, final String keyStorePass) {
setParam(opts, KEYSTORE_PASS, keyStorePass);
}
/**
* Set keystore type for SSL connections.
* @param opts the file system options to modify
* @param keyStoreType keystore type for SSL connections
* @since 2.7.0
*/
public void setKeyStoreType(final FileSystemOptions opts, final String keyStoreType) {
setParam(opts, KEYSTORE_TYPE, keyStoreType);
}
/**
* Sets the maximum number of connections allowed to any host.
*
* @param opts The FileSystem options.
* @param maxHostConnections The maximum number of connections to a host.
*/
public void setMaxConnectionsPerHost(final FileSystemOptions opts, final int maxHostConnections) {
setParam(opts, MAX_HOST_CONNECTIONS, Integer.valueOf(maxHostConnections));
}
/**
* Sets the maximum number of connections allowed.
*
* @param opts The FileSystem options.
* @param maxTotalConnections The maximum number of connections.
*/
public void setMaxTotalConnections(final FileSystemOptions opts, final int maxTotalConnections) {
setParam(opts, MAX_TOTAL_CONNECTIONS, Integer.valueOf(maxTotalConnections));
}
/**
* Sets the given value for preemptive HTTP authentication (using BASIC) on the given FileSystemOptions object.
* Defaults to false if not set. It may be appropriate to set to true in cases when the resulting chattiness of the
* conversation outweighs any architectural desire to use a stronger authentication scheme than basic/preemptive.
*
* @param opts The FileSystemOptions.
* @param preemptiveAuth the desired setting; true=enabled and false=disabled.
*/
public void setPreemptiveAuth(final FileSystemOptions opts, final boolean preemptiveAuth) {
setParam(opts, KEY_PREEMPTIVE_AUTHENTICATION, Boolean.valueOf(preemptiveAuth));
}
/**
* Sets the proxy authenticator where the system should get the credentials from.
*
* @param opts The FileSystem options.
* @param authenticator The UserAuthenticator.
*/
public void setProxyAuthenticator(final FileSystemOptions opts, final UserAuthenticator authenticator) {
setParam(opts, "proxyAuthenticator", authenticator);
}
/**
* Sets the proxy to use for http connection.
* <p>
* You have to set the ProxyPort too if you would like to have the proxy really used.
* </p>
*
* @param opts The FileSystem options.
* @param proxyHost the host
* @see #setProxyPort
*/
public void setProxyHost(final FileSystemOptions opts, final String proxyHost) {
setParam(opts, "proxyHost", proxyHost);
}
/**
* Sets the proxy-port to use for http connection. You have to set the ProxyHost too if you would like to have the
* proxy really used.
*
* @param opts The FileSystem options.
* @param proxyPort the port
* @see #setProxyHost
*/
public void setProxyPort(final FileSystemOptions opts, final int proxyPort) {
setParam(opts, "proxyPort", Integer.valueOf(proxyPort));
}
/**
* Sets the proxy-scheme to use for http connection. You have to set the ProxyHost too if you would like to have the
* proxy really used.
*
* @param opts The FileSystem options.
* @param proxyScheme the protocol scheme
* @see #setProxyHost
* @since 2.7.0
*/
public void setProxyScheme(final FileSystemOptions opts, final String proxyScheme) {
setParam(opts, PROXY_SCHEME, proxyScheme);
} |
File |
Project |
Line |
org/apache/commons/vfs2/provider/http4/Http4RandomAccessContent.java |
Apache Commons VFS |
66 |
org/apache/commons/vfs2/provider/http5/Http5RandomAccessContent.java |
Apache Commons VFS |
66 |
final int status = httpResponse.getStatusLine().getStatusCode();
if (status != HttpURLConnection.HTTP_PARTIAL && status != HttpURLConnection.HTTP_OK) {
throw new FileSystemException("vfs.provider.http/get-range.error", fileObject.getName(),
Long.valueOf(filePointer), Integer.valueOf(status));
}
monitorInputStream = new MonitoredHttpResponseContentInputStream(httpResponse);
// If the range request was ignored
if (status == HttpURLConnection.HTTP_OK) {
final long skipped = monitorInputStream.skip(filePointer);
if (skipped != filePointer) {
throw new FileSystemException("vfs.provider.http/get-range.error", fileObject.getName(),
Long.valueOf(filePointer), Integer.valueOf(status));
}
}
dataInputStream = new DataInputStream(new FilterInputStream(monitorInputStream) {
@Override
public int read() throws IOException {
final int ret = super.read();
if (ret > -1) {
filePointer++;
}
return ret;
}
@Override
public int read(final byte[] b) throws IOException {
final int ret = super.read(b);
if (ret > -1) {
filePointer += ret;
}
return ret;
}
@Override
public int read(final byte[] b, final int off, final int len) throws IOException {
final int ret = super.read(b, off, len);
if (ret > -1) {
filePointer += ret;
}
return ret;
}
});
return dataInputStream;
}
@Override
public long getFilePointer() throws IOException {
return filePointer;
}
@Override
public long length() throws IOException {
return fileObject.getContent().getSize();
}
@Override
public void seek(final long pos) throws IOException {
if (pos == filePointer) {
// no change
return;
}
if (pos < 0) {
throw new FileSystemException("vfs.provider/random-access-invalid-position.error", Long.valueOf(pos));
}
if (dataInputStream != null) {
close();
}
filePointer = pos;
}
} |
File |
Project |
Line |
org/apache/commons/vfs2/provider/http/HttpRandomAccessContent.java |
Apache Commons VFS |
74 |
org/apache/commons/vfs2/provider/http4/Http4RandomAccessContent.java |
Apache Commons VFS |
73 |
org/apache/commons/vfs2/provider/http5/Http5RandomAccessContent.java |
Apache Commons VFS |
73 |
monitorInputStream = new HttpFileObject.HttpInputStream(getMethod);
// If the range request was ignored
if (status == HttpURLConnection.HTTP_OK) {
final long skipped = monitorInputStream.skip(filePointer);
if (skipped != filePointer) {
throw new FileSystemException("vfs.provider.http/get-range.error", fileObject.getName(),
Long.valueOf(filePointer), Integer.valueOf(status));
}
}
dataInputStream = new DataInputStream(new FilterInputStream(monitorInputStream) {
@Override
public int read() throws IOException {
final int ret = super.read();
if (ret > -1) {
filePointer++;
}
return ret;
}
@Override
public int read(final byte[] b) throws IOException {
final int ret = super.read(b);
if (ret > -1) {
filePointer += ret;
}
return ret;
}
@Override
public int read(final byte[] b, final int off, final int len) throws IOException {
final int ret = super.read(b, off, len);
if (ret > -1) {
filePointer += ret;
}
return ret;
}
});
return dataInputStream;
}
@Override
public long getFilePointer() throws IOException {
return filePointer;
}
@Override
public long length() throws IOException {
return fileObject.getContent().getSize();
}
@Override
public void seek(final long pos) throws IOException {
if (pos == filePointer) {
// no change
return;
}
if (pos < 0) {
throw new FileSystemException("vfs.provider/random-access-invalid-position.error", Long.valueOf(pos));
}
if (dataInputStream != null) {
close();
}
filePointer = pos;
}
} |
File |
Project |
Line |
org/apache/commons/vfs2/provider/http4/Http4FileProvider.java |
Apache Commons VFS |
303 |
org/apache/commons/vfs2/provider/http5/Http5FileProvider.java |
Apache Commons VFS |
299 |
protected SSLContext createSSLContext(final Http4FileSystemConfigBuilder builder,
final FileSystemOptions fileSystemOptions) throws FileSystemException {
try {
final SSLContextBuilder sslContextBuilder = new SSLContextBuilder();
sslContextBuilder.setKeyStoreType(builder.getKeyStoreType(fileSystemOptions));
File keystoreFileObject = null;
final String keystoreFile = builder.getKeyStoreFile(fileSystemOptions);
if (!StringUtils.isEmpty(keystoreFile)) {
keystoreFileObject = new File(keystoreFile);
}
if (keystoreFileObject != null && keystoreFileObject.exists()) {
final String keystorePass = builder.getKeyStorePass(fileSystemOptions);
final char[] keystorePassChars = (keystorePass != null) ? keystorePass.toCharArray() : null;
sslContextBuilder.loadTrustMaterial(keystoreFileObject, keystorePassChars, TrustAllStrategy.INSTANCE);
} else {
sslContextBuilder.loadTrustMaterial(TrustAllStrategy.INSTANCE);
}
return sslContextBuilder.build();
} catch (final KeyStoreException e) {
throw new FileSystemException("Keystore error. " + e.getMessage(), e);
} catch (final KeyManagementException e) {
throw new FileSystemException("Cannot retrieve keys. " + e.getMessage(), e);
} catch (final NoSuchAlgorithmException e) {
throw new FileSystemException("Algorithm error. " + e.getMessage(), e);
} catch (final CertificateException e) {
throw new FileSystemException("Certificate error. " + e.getMessage(), e);
} catch (final IOException e) {
throw new FileSystemException("Cannot open key file. " + e.getMessage(), e);
}
}
@Override
protected FileSystem doCreateFileSystem(final FileName name, final FileSystemOptions fileSystemOptions)
throws FileSystemException {
final GenericFileName rootName = (GenericFileName) name;
UserAuthenticationData authData = null;
HttpClient httpClient;
HttpClientContext httpClientContext;
try {
final Http4FileSystemConfigBuilder builder = Http4FileSystemConfigBuilder.getInstance(); |
File |
Project |
Line |
org/apache/commons/vfs2/provider/http4/Http4FileSystemConfigBuilder.java |
Apache Commons VFS |
203 |
org/apache/commons/vfs2/provider/http5/Http5FileSystemConfigBuilder.java |
Apache Commons VFS |
223 |
return Http4FileSystem.class;
}
/**
* Gets the connection timeout.
*
* @param opts The FileSystem options.
* @return The connection timeout.
* @deprecated Use {@link #getConnectionTimeoutDuration(FileSystemOptions)}.
*/
@Deprecated
public int getConnectionTimeout(final FileSystemOptions opts) {
return getDurationInteger(opts, CONNECTION_TIMEOUT, DEFAULT_CONNECTION_TIMEOUT);
}
/**
/**
* Gets the connection timeout.
*
* @param opts The FileSystem options.
* @return The connection timeout.
* @since 2.8.0
*/
public Duration getConnectionTimeoutDuration(final FileSystemOptions opts) {
return getDuration(opts, CONNECTION_TIMEOUT, DEFAULT_CONNECTION_TIMEOUT);
}
/**
* Gets the cookies to add to the request.
*
* @param opts The FileSystem options.
* @return the Cookie array.
*/
public Cookie[] getCookies(final FileSystemOptions opts) {
return getParam(opts, "cookies");
}
/**
* Gets whether to follow redirects for the connection.
*
* @param opts The FileSystem options.
* @return {@code true} to follow redirects, {@code false} not to.
* @see #setFollowRedirect
*/
public boolean getFollowRedirect(final FileSystemOptions opts) {
return getBoolean(opts, KEY_FOLLOW_REDIRECT, DEFAULT_FOLLOW_REDIRECT);
}
/**
* Return keystore file path to be used in SSL connections.
* @param opts the file system options to modify
* @return keystore file path to be used in SSL connections
*/
public String getKeyStoreFile(final FileSystemOptions opts) {
return getParam(opts, KEYSTORE_FILE);
}
/**
* Return keystore pass phrase for SSL connections.
* @param opts the file system options to modify
* @return keystore pass phrase for SSL connections
*/
String getKeyStorePass(final FileSystemOptions opts) {
return getParam(opts, KEYSTORE_PASS);
}
/**
* Get keystore type for SSL connections.
* @param opts the file system options to modify
* @return keystore type for SSL connections
* @since 2.7.0
*/
public String getKeyStoreType(final FileSystemOptions opts) {
return getString(opts, KEYSTORE_TYPE, KeyStore.getDefaultType());
}
/**
* Gets the maximum number of connections allowed per host.
*
* @param opts The FileSystemOptions.
* @return The maximum number of connections allowed per host.
*/
public int getMaxConnectionsPerHost(final FileSystemOptions opts) {
return getInteger(opts, MAX_HOST_CONNECTIONS, DEFAULT_MAX_HOST_CONNECTIONS);
}
/**
* Gets the maximum number of connections allowed.
*
* @param opts The FileSystemOptions.
* @return The maximum number of connections allowed.
*/
public int getMaxTotalConnections(final FileSystemOptions opts) {
return getInteger(opts, MAX_TOTAL_CONNECTIONS, DEFAULT_MAX_CONNECTIONS);
}
/**
* Gets the proxy authenticator where the system should get the credentials from.
*
* @param opts The FileSystem options.
* @return The UserAuthenticator.
*/
public UserAuthenticator getProxyAuthenticator(final FileSystemOptions opts) {
return getParam(opts, "proxyAuthenticator");
}
/**
* Gets the proxy to use for http connection. You have to set the ProxyPort too if you would like to have the proxy
* really used.
*
* @param opts The FileSystem options.
* @return proxyHost
* @see #setProxyPort
*/
public String getProxyHost(final FileSystemOptions opts) {
return getString(opts, "proxyHost");
}
/**
* Gets the proxy-port to use for http the connection. You have to set the ProxyHost too if you would like to have
* the proxy really used.
*
* @param opts The FileSystem options.
* @return proxyPort: the port number or 0 if it is not set
* @see #setProxyHost
*/
public int getProxyPort(final FileSystemOptions opts) {
return getInteger(opts, "proxyPort", 0);
}
/**
* Gets the proxy-scheme to use for http the connection. You have to set the ProxyHost too if you would like to have
* the proxy really used.
*
* @param opts The FileSystem options.
* @return proxyScheme: the http/https scheme of proxy server
* @see #setProxyHost
* @since 2.7.0
*/
public String getProxyScheme(final FileSystemOptions opts) {
return getString(opts, PROXY_SCHEME, HttpHost.DEFAULT_SCHEME_NAME); |
File |
Project |
Line |
org/apache/commons/vfs2/provider/ftp/FtpRandomAccessContent.java |
Apache Commons VFS |
69 |
org/apache/commons/vfs2/provider/sftp/SftpRandomAccessContent.java |
Apache Commons VFS |
72 |
FtpRandomAccessContent.this.close();
}
@Override
public int read() throws IOException {
final int ret = super.read();
if (ret > -1) {
filePointer++;
}
return ret;
}
@Override
public int read(final byte[] b) throws IOException {
final int ret = super.read(b);
if (ret > -1) {
filePointer += ret;
}
return ret;
}
@Override
public int read(final byte[] b, final int off, final int len) throws IOException {
final int ret = super.read(b, off, len);
if (ret > -1) {
filePointer += ret;
}
return ret;
}
});
return dis;
}
@Override
public long getFilePointer() throws IOException {
return filePointer;
}
@Override
public long length() throws IOException {
return fileObject.getContent().getSize();
}
@Override
public void seek(final long pos) throws IOException {
if (pos == filePointer) {
// no change
return;
}
if (pos < 0) {
throw new FileSystemException("vfs.provider/random-access-invalid-position.error", Long.valueOf(pos));
}
if (dis != null) {
close();
}
filePointer = pos;
}
} |
File |
Project |
Line |
org/apache/commons/vfs2/filter/AndFileFilter.java |
Apache Commons VFS |
96 |
org/apache/commons/vfs2/filter/OrFileFilter.java |
Apache Commons VFS |
92 |
}
@Override
public void addFileFilter(final FileFilter fileFilter) {
this.fileFilters.add(fileFilter);
}
@Override
public List<FileFilter> getFileFilters() {
return Collections.unmodifiableList(this.fileFilters);
}
@Override
public boolean removeFileFilter(final FileFilter fileFilter) {
return this.fileFilters.remove(fileFilter);
}
@Override
public void setFileFilters(final List<FileFilter> fileFilters) {
this.fileFilters.clear();
this.fileFilters.addAll(fileFilters);
}
/**
* Provide a String representation of this file filter.
*
* @return a String representation
*/
@Override
public String toString() {
final StringBuilder buffer = new StringBuilder();
buffer.append(super.toString());
buffer.append("(");
if (fileFilters != null) {
for (int i = 0; i < fileFilters.size(); i++) {
if (i > 0) {
buffer.append(",");
}
final Object filter = fileFilters.get(i);
buffer.append(filter == null ? "null" : filter.toString());
}
}
buffer.append(")");
return buffer.toString();
}
} |
File |
Project |
Line |
org/apache/commons/vfs2/provider/webdav/ExceptionConverter.java |
Apache Commons VFS Jackrabbit 1 |
48 |
org/apache/commons/vfs2/provider/webdav4/ExceptionConverter.java |
Apache Commons VFS Jackrabbit 2 |
42 |
final Element error = davExc.toXml(DomUtil.BUILDER_FACTORY.newDocumentBuilder().newDocument());
if (DomUtil.matches(error, DavException.XML_ERROR, DavConstants.NAMESPACE) && DomUtil.hasChildElement(error, "exception", null)) {
final Element exc = DomUtil.getChildElement(error, "exception", null);
if (DomUtil.hasChildElement(exc, "message", null)) {
msg = DomUtil.getChildText(exc, "message", null);
}
if (DomUtil.hasChildElement(exc, "class", null)) {
final Class<?> cl = Class.forName(DomUtil.getChildText(exc, "class", null));
final Constructor<?> excConstr = cl.getConstructor(String.class);
final Object o = excConstr.newInstance(msg);
if (o instanceof FileSystemException) {
return (FileSystemException) o;
}
if (o instanceof Exception) {
return new FileSystemException(msg, (Exception) o);
}
}
}
} catch (final Exception e) {
throw new FileSystemException(e);
}
}
return new FileSystemException(msg);
}
} |
File |
Project |
Line |
org/apache/commons/vfs2/provider/http4/Http4FileSystem.java |
Apache Commons VFS |
63 |
org/apache/commons/vfs2/provider/http5/Http5FileSystem.java |
Apache Commons VFS |
63 |
protected Http4FileSystem(final FileName rootName, final FileSystemOptions fileSystemOptions, final HttpClient httpClient,
final HttpClientContext httpClientContext) {
super(rootName, null, fileSystemOptions);
final String rootURI = getRootURI();
final int offset = rootURI.indexOf(':');
final char lastCharOfScheme = (offset > 0) ? rootURI.charAt(offset - 1) : 0;
// if scheme is 'http*s' or 'HTTP*S', then the internal base URI should be 'https'. 'http' otherwise.
if (lastCharOfScheme == 's' || lastCharOfScheme == 'S') {
this.internalBaseURI = URI.create("https" + rootURI.substring(offset));
} else {
this.internalBaseURI = URI.create("http" + rootURI.substring(offset));
}
this.httpClient = httpClient;
this.httpClientContext = httpClientContext;
}
@Override
protected void addCapabilities(final Collection<Capability> caps) {
caps.addAll(Http4FileProvider.CAPABILITIES); |
File |
Project |
Line |
org/apache/commons/vfs2/provider/http4/Http4FileProvider.java |
Apache Commons VFS |
244 |
org/apache/commons/vfs2/provider/http5/Http5FileProvider.java |
Apache Commons VFS |
239 |
UserAuthenticationData.PASSWORD, UserAuthenticatorUtils.toChar(rootName.getPassword())));
if (!StringUtils.isEmpty(username)) {
credsProvider.setCredentials(new AuthScope(rootName.getHostName(), rootName.getPort()),
new UsernamePasswordCredentials(username, password));
}
final HttpHost proxyHost = getProxyHttpHost(builder, fileSystemOptions);
if (proxyHost != null) {
final UserAuthenticator proxyAuth = builder.getProxyAuthenticator(fileSystemOptions);
if (proxyAuth != null) {
final UserAuthenticationData proxyAuthData = UserAuthenticatorUtils.authenticate(proxyAuth,
new UserAuthenticationData.Type[] { UserAuthenticationData.USERNAME,
UserAuthenticationData.PASSWORD });
if (proxyAuthData != null) {
final UsernamePasswordCredentials proxyCreds = new UsernamePasswordCredentials(
UserAuthenticatorUtils.toString(
UserAuthenticatorUtils.getData(proxyAuthData, UserAuthenticationData.USERNAME, null)),
UserAuthenticatorUtils.toString( |
File |
Project |
Line |
org/apache/commons/vfs2/provider/http4/Http4FileObject.java |
Apache Commons VFS |
124 |
org/apache/commons/vfs2/provider/http5/Http5FileObject.java |
Apache Commons VFS |
125 |
final int status = httpResponse.getStatusLine().getStatusCode();
if (status == HttpStatus.SC_NOT_FOUND) {
throw new FileNotFoundException(getName());
}
if (status != HttpStatus.SC_OK) {
throw new FileSystemException("vfs.provider.http/get.error", getName(), Integer.valueOf(status));
}
return new MonitoredHttpResponseContentInputStream(httpResponse, bufferSize);
}
@Override
protected long doGetLastModifiedTime() throws Exception {
FileSystemException.requireNonNull(lastHeadResponse, "vfs.provider.http/last-modified.error", getName());
final Header header = lastHeadResponse.getFirstHeader("Last-Modified");
FileSystemException.requireNonNull(header, "vfs.provider.http/last-modified.error", getName());
return DateUtils.parseDate(header.getValue()).getTime();
}
@Override
protected RandomAccessContent doGetRandomAccessContent(final RandomAccessMode mode) throws Exception {
return new Http4RandomAccessContent<>(this, mode); |
File |
Project |
Line |
org/apache/commons/vfs2/provider/webdav/WebdavFileObject.java |
Apache Commons VFS Jackrabbit 1 |
567 |
org/apache/commons/vfs2/provider/webdav4/Webdav4FileObject.java |
Apache Commons VFS Jackrabbit 2 |
569 |
final DavProperty property = getProperty(name, DavConstants.PROPERTY_RESOURCETYPE);
final Node node;
if (property != null && (node = (Node) property.getValue()) != null) {
return node.getLocalName().equals(DavConstants.XML_COLLECTION);
}
return false;
} catch (final FileNotFoundException fse) {
throw new FileNotFolderException(name);
}
}
/**
* Returns the resource name from the path.
*
* @param path the path to the file.
* @return The resource name
*/
private String resourceName(String path) {
if (path.endsWith("/")) {
path = path.substring(0, path.length() - 1);
}
final int i = path.lastIndexOf("/");
return i >= 0 ? path.substring(i + 1) : path;
} |
File |
Project |
Line |
org/apache/commons/vfs2/provider/GenericURLFileNameParser.java |
Apache Commons VFS |
31 |
org/apache/commons/vfs2/provider/URLFileNameParser.java |
Apache Commons VFS |
32 |
public GenericURLFileNameParser(final int defaultPort) {
super(defaultPort);
}
@Override
public boolean encodeCharacter(final char ch) {
return super.encodeCharacter(ch) || ch == '?';
}
@Override
public FileName parseUri(final VfsComponentContext context, final FileName base, final String fileName)
throws FileSystemException {
// FTP URI are generic URI (as per RFC 2396)
final StringBuilder name = new StringBuilder();
// Extract the scheme and authority parts
final Authority auth = extractToPath(context, fileName, name);
// Extract the queryString
final String queryString = UriParser.extractQueryString(name);
// Decode and normalise the file name
UriParser.canonicalizePath(name, 0, name.length(), this);
UriParser.fixSeparators(name);
final FileType fileType = UriParser.normalisePath(name);
final String path = name.toString();
return new GenericURLFileName(auth.getScheme(), auth.getHostName(), auth.getPort(), getDefaultPort(), |
File |
Project |
Line |
org/apache/commons/vfs2/provider/ftp/FtpRandomAccessContent.java |
Apache Commons VFS |
72 |
org/apache/commons/vfs2/provider/http/HttpRandomAccessContent.java |
Apache Commons VFS |
84 |
org/apache/commons/vfs2/provider/http4/Http4RandomAccessContent.java |
Apache Commons VFS |
85 |
org/apache/commons/vfs2/provider/http5/Http5RandomAccessContent.java |
Apache Commons VFS |
85 |
org/apache/commons/vfs2/provider/sftp/SftpRandomAccessContent.java |
Apache Commons VFS |
75 |
@Override
public int read() throws IOException {
final int ret = super.read();
if (ret > -1) {
filePointer++;
}
return ret;
}
@Override
public int read(final byte[] b) throws IOException {
final int ret = super.read(b);
if (ret > -1) {
filePointer += ret;
}
return ret;
}
@Override
public int read(final byte[] b, final int off, final int len) throws IOException {
final int ret = super.read(b, off, len);
if (ret > -1) {
filePointer += ret;
}
return ret;
}
});
return dis; |
File |
Project |
Line |
org/apache/commons/vfs2/provider/webdav/WebdavFileSystemConfigBuilder.java |
Apache Commons VFS Jackrabbit 1 |
43 |
org/apache/commons/vfs2/provider/webdav4/Webdav4FileSystemConfigBuilder.java |
Apache Commons VFS Jackrabbit 2 |
43 |
public static HttpFileSystemConfigBuilder getInstance() {
return BUILDER;
}
/**
* The user name to be associated with changes to the file.
*
* @param opts The FileSystem options
* @param creatorName The creator name to be associated with the file.
*/
public void setCreatorName(final FileSystemOptions opts, final String creatorName) {
setParam(opts, "creatorName", creatorName);
}
/**
* Return the user name to be associated with changes to the file.
*
* @param opts The FileSystem options
* @return The creatorName.
*/
public String getCreatorName(final FileSystemOptions opts) {
return getString(opts, "creatorName");
}
/**
* Gets whether to follow redirects for the connection.
*
* @param opts The FileSystem options.
* @return {@code true} to follow redirects, {@code false} not to.
* @see #setFollowRedirect
* @since 2.1
*/
@Override
public boolean getFollowRedirect(final FileSystemOptions opts) {
return getBoolean(opts, KEY_FOLLOW_REDIRECT, DEFAULT_FOLLOW_REDIRECT);
}
/**
* Whether to use versioning.
*
* @param opts The FileSystem options.
* @param versioning true if versioning should be enabled.
*/
public void setVersioning(final FileSystemOptions opts, final boolean versioning) {
setParam(opts, "versioning", Boolean.valueOf(versioning));
}
/**
* The cookies to add to the request.
*
* @param opts The FileSystem options.
* @return true if versioning is enabled.
*/
public boolean isVersioning(final FileSystemOptions opts) {
return getBoolean(opts, "versioning", false);
}
/**
* @return The Webdav FileSystem Class object.
*/
@Override
protected Class<? extends FileSystem> getConfigClass() {
return WebdavFileSystem.class; |
File |
Project |
Line |
org/apache/commons/vfs2/provider/GenericURLFileName.java |
Apache Commons VFS |
33 |
org/apache/commons/vfs2/provider/URLFileName.java |
Apache Commons VFS |
36 |
public GenericURLFileName(final String scheme, final String hostName, final int port, final int defaultPort,
final String userName, final String password, final String path, final FileType type,
final String queryString) {
super(scheme, hostName, port, defaultPort, userName, password, path, type);
this.queryString = queryString;
}
/**
* Gets the query string.
*
* @return the query string part of the file name
*/
public String getQueryString() {
return queryString;
}
/**
* Gets the path and query string e.g. /path/servlet?param1=true.
*
* @return the path and its query string
*/
public String getPathQuery() {
final StringBuilder sb = new StringBuilder(BUFFER_SIZE);
sb.append(getPath());
sb.append("?");
sb.append(getQueryString());
return sb.toString();
}
/**
* Gets the path encoded suitable for url like file system e.g. (http, webdav).
*
* @param charset the charset used for the path encoding
* @return The encoded path.
* @throws FileSystemException If some other error occurs.
*/
public String getPathQueryEncoded(final String charset) throws FileSystemException { |
File |
Project |
Line |
org/apache/commons/vfs2/provider/webdav/WebdavFileObject.java |
Apache Commons VFS Jackrabbit 1 |
285 |
org/apache/commons/vfs2/provider/webdav4/Webdav4FileObject.java |
Apache Commons VFS Jackrabbit 2 |
283 |
DavProperty property = iter2.next();
if (!attributes.containsKey(property.getName().getName())) {
property = getProperty(fileName, property.getName());
if (property != null) {
final Object name = property.getName();
final Object value = property.getValue();
if (name != null && value != null) {
attributes.put(name.toString(), value);
}
}
}
}
return attributes;
} catch (final Exception e) {
throw new FileSystemException("vfs.provider.webdav/get-attributes.error", getName(), e);
}
}
/**
* Returns the size of the file content (in bytes).
*/
@Override
protected long doGetContentSize() throws Exception {
final DavProperty property = getProperty((URLFileName) getName(), DavConstants.PROPERTY_GETCONTENTLENGTH); |
File |
Project |
Line |
org/apache/commons/vfs2/util/MonitorInputStream.java |
Apache Commons VFS |
129 |
org/apache/commons/vfs2/util/RawMonitorInputStream.java |
Apache Commons VFS |
76 |
}
/**
* Reads a character.
*
* @return The character that was read as an integer.
* @throws IOException if an IO error occurs.
*/
@Override
public int read() throws IOException { // lgtm [java/non-sync-override]
if (finished.get()) {
return EOF_CHAR;
}
final int ch = super.read();
if (ch != EOF_CHAR) {
atomicCount.incrementAndGet();
}
return ch;
}
/**
* Reads bytes from this input stream.
*
* @param buffer A byte array in which to place the characters read.
* @param offset The offset at which to start reading.
* @param length The maximum number of bytes to read.
* @return The number of bytes read.
* @throws IOException if an IO error occurs.
*/
@Override
public int read(final byte[] buffer, final int offset, final int length) throws IOException { // lgtm [java/non-sync-override]
if (finished.get()) {
return EOF_CHAR;
}
final int nread = super.read(buffer, offset, length);
if (nread != EOF_CHAR) {
atomicCount.addAndGet(nread);
}
return nread;
} |
File |
Project |
Line |
org/apache/commons/vfs2/provider/http/HttpFileSystemConfigBuilder.java |
Apache Commons VFS |
305 |
org/apache/commons/vfs2/provider/http4/Http4FileSystemConfigBuilder.java |
Apache Commons VFS |
527 |
org/apache/commons/vfs2/provider/http5/Http5FileSystemConfigBuilder.java |
Apache Commons VFS |
560 |
setParam(opts, HttpConnectionManagerParams.MAX_TOTAL_CONNECTIONS, Integer.valueOf(maxTotalConnections));
}
/**
* Sets the given value for preemptive HTTP authentication (using BASIC) on the given FileSystemOptions object.
* Defaults to false if not set. It may be appropriate to set to true in cases when the resulting chattiness of the
* conversation outweighs any architectural desire to use a stronger authentication scheme than basic/preemptive.
*
* @param opts The FileSystemOptions.
* @param preemptiveAuth the desired setting; true=enabled and false=disabled.
*/
public void setPreemptiveAuth(final FileSystemOptions opts, final boolean preemptiveAuth) {
setParam(opts, KEY_PREEMPTIVE_AUTHENTICATION, Boolean.valueOf(preemptiveAuth));
}
/**
* Sets the proxy authenticator where the system should get the credentials from.
*
* @param opts The FileSystem options.
* @param authenticator The UserAuthenticator.
*/
public void setProxyAuthenticator(final FileSystemOptions opts, final UserAuthenticator authenticator) {
setParam(opts, "proxyAuthenticator", authenticator);
}
/**
* Sets the proxy to use for http connection.
* <p>
* You have to set the ProxyPort too if you would like to have the proxy really used.
* </p>
*
* @param opts The FileSystem options.
* @param proxyHost the host
* @see #setProxyPort
*/
public void setProxyHost(final FileSystemOptions opts, final String proxyHost) {
setParam(opts, "proxyHost", proxyHost);
}
/**
* Sets the proxy-port to use for http connection. You have to set the ProxyHost too if you would like to have the
* proxy really used.
*
* @param opts The FileSystem options.
* @param proxyPort the port
* @see #setProxyHost
*/
public void setProxyPort(final FileSystemOptions opts, final int proxyPort) {
setParam(opts, "proxyPort", Integer.valueOf(proxyPort));
}
/**
* The socket timeout.
*
* @param opts The FileSystem options.
* @param timeout socket timeout.
* @since 2.8.0
*/
public void setSoTimeout(final FileSystemOptions opts, final Duration timeout) { |
File |
Project |
Line |
org/apache/commons/vfs2/provider/GenericURLFileName.java |
Apache Commons VFS |
98 |
org/apache/commons/vfs2/provider/URLFileName.java |
Apache Commons VFS |
102 |
return new GenericURLFileName(getScheme(), getHostName(), getPort(), getDefaultPort(), getUserName(), getPassword(),
absPath, type, getQueryString());
}
/**
* Appends query string to the uri.
*
* @return the uri
*/
@Override
protected String createURI() {
if (getQueryString() != null) {
final StringBuilder sb = new StringBuilder(BUFFER_SIZE);
sb.append(super.createURI());
sb.append("?");
sb.append(getQueryString());
return sb.toString();
}
return super.createURI();
}
/**
* Encodes a URI.
*
* @param charset The character set.
* @return The encoded URI
* @throws FileSystemException if some other exception occurs.
*/
public String getURIEncoded(final String charset) throws FileSystemException { |
File |
Project |
Line |
org/apache/commons/vfs2/provider/UriParser.java |
Apache Commons VFS |
68 |
org/apache/commons/vfs2/provider/UriParser.java |
Apache Commons VFS |
152 |
if (count < 3) {
throw new FileSystemException("vfs.provider/invalid-escape-sequence.error",
buffer.substring(index, index + count));
}
// Decode
final int dig1 = Character.digit(buffer.charAt(index + 1), HEX_BASE);
final int dig2 = Character.digit(buffer.charAt(index + 2), HEX_BASE);
if (dig1 == -1 || dig2 == -1) {
throw new FileSystemException("vfs.provider/invalid-escape-sequence.error",
buffer.substring(index, index + 3));
}
final char value = (char) (dig1 << BITS_IN_HALF_BYTE | dig2); |
File |
Project |
Line |
org/apache/commons/vfs2/provider/tar/TarFileObject.java |
Apache Commons VFS |
75 |
org/apache/commons/vfs2/provider/zip/ZipFileObject.java |
Apache Commons VFS |
77 |
protected void attachChild(final FileName childName) {
children.add(childName.getBaseName());
}
/**
* Determines if this file can be written to.
*
* @return {@code true} if this file is writable, {@code false} if not.
* @throws FileSystemException if an error occurs.
*/
@Override
public boolean isWriteable() throws FileSystemException {
return false;
}
/**
* Returns the file's type.
*/
@Override
protected FileType doGetType() {
return type;
}
/**
* Lists the children of the file.
*/
@Override
protected String[] doListChildren() {
try {
if (!getType().hasChildren()) {
return null;
}
} catch (final FileSystemException e) {
// should not happen as the type has already been cached.
throw new RuntimeException(e);
}
return children.toArray(ArrayUtils.EMPTY_STRING_ARRAY);
}
/**
* Returns the size of the file content (in bytes). Is only called if {@link #doGetType} returns
* {@link FileType#FILE}.
*/
@Override
protected long doGetContentSize() { |
File |
Project |
Line |
org/apache/commons/vfs2/provider/http4/Http4FileObject.java |
Apache Commons VFS |
91 |
org/apache/commons/vfs2/provider/http5/Http5FileObject.java |
Apache Commons VFS |
92 |
final Http4FileSystemConfigBuilder builder) throws FileSystemException {
super(name, fileSystem);
final FileSystemOptions fileSystemOptions = fileSystem.getFileSystemOptions();
urlCharset = builder.getUrlCharset(fileSystemOptions);
final String pathEncoded = ((GenericURLFileName) name).getPathQueryEncoded(getUrlCharset());
internalURI = URIUtils.resolve(fileSystem.getInternalBaseURI(), pathEncoded);
}
@Override
protected void doDetach() throws Exception {
lastHeadResponse = null;
}
@Override
protected long doGetContentSize() throws Exception {
if (lastHeadResponse == null) {
return 0L;
}
final Header header = lastHeadResponse.getFirstHeader(HTTP.CONTENT_LEN); |
File |
Project |
Line |
org/apache/commons/vfs2/provider/webdav/WebdavFileObject.java |
Apache Commons VFS Jackrabbit 1 |
118 |
org/apache/commons/vfs2/provider/webdav4/Webdav4FileObject.java |
Apache Commons VFS Jackrabbit 2 |
117 |
final URLFileName fileName = (URLFileName) getName();
final String urlStr = toUrlString(fileName);
if (builder.isVersioning(getFileSystem().getFileSystemOptions())) {
DavPropertySet set = null;
boolean fileExists = true;
boolean isCheckedIn = true;
try {
set = getPropertyNames(fileName);
} catch (final FileNotFoundException fnfe) {
fileExists = false;
}
if (fileExists && set != null) {
if (set.contains(VersionControlledResource.CHECKED_OUT)) {
isCheckedIn = false;
} else if (!set.contains(VersionControlledResource.CHECKED_IN)) {
DavProperty prop = set.get(VersionControlledResource.AUTO_VERSION); |
|