org.das2.util.filesystem.WebFileSystem
Base class for HTTP and FTP-based filesystems. A local cache is kept of
the files.
LISTING_TIMEOUT_MS
we keep a cached listing in on disk. This is backed by the website.
MEMORY_LISTING_TIMEOUT_MS
we keep a cached listing in memory for performance. This is backed by the .listing file.
HTTP_CHECK_TIMESTAMP_LIMIT_MS
timestamp checks will occur no more often than this.
PROP_OFFLINE
if true, then the remote filesystem is not accessible, but local cache
copies may be accessed. See FileSystemSettings.allowOffline
PROP_READ_ONLY_CACHE
alternate location to check for file before downloading.
addPropertyChangeListener
addPropertyChangeListener( java.beans.PropertyChangeListener listener ) → void
Parameters
listener - a PropertyChangeListener
Returns:
void (returns nothing)
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
cacheListing
cacheListing( String directory, org.das2.util.filesystem.FileSystem.DirectoryEntry[] listing ) → void
Parameters
directory - a String
listing - an org.das2.util.filesystem.FileSystem.DirectoryEntry[]
Returns:
void (returns nothing)
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
consumeStream
Deprecated: see HtmlUtil.consumeStream.
getDownloadDirectory
getDownloadDirectory( ) → java.io.File
Returns:
java.io.File
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getFileObject
getFileObject( String filename ) → org.das2.util.filesystem.FileObject
Return the handle for this file. This is not the file itself, and
accessing this object does not necessarily download the resource. This will be a
container for file metadata, in addition to providing access to the data
file itself.
Parameters
filename - the name of the file within the filesystem.
Returns:
a FileObject for the file
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getLocalName
getLocalName( java.io.File file ) → String
return the name of the File within the FileSystem, where File is a local
file within the local copy of the filesystem.
Parameters
file - a File
Returns:
the name within the filesystem
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getLocalName( java.net.URL url ) → String
getLocalRoot
getLocalRoot( ) → java.io.File
Returns:
java.io.File
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getLocalRootAbsPath
Deprecated: use getLocalRoot().getAbsolutePath()
getOfflineMessage
getOfflineMessage( ) → String
return the reason (if any provided) why the filesystem is offline,
Returns:
the message for the response code
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getOfflineResponseCode
getOfflineResponseCode( ) → int
if non-zero, the response code (e.g. 403) why the filesystem is offline.
Returns:
the response code.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getPartFile
getPartFile( java.io.File localFile ) → java.io.File
return a name where the download is to be staged. This will
be unique for any process. We make the following assumptions:
- multiple Java processes will be using and modifying the file database.
- java processes may be on different machines
- an ID conflict may occur should two processes have the same UID, hostname, and are started at the same clock time millisecond.
See https://sourceforge.net/p/autoplot/bugs/1301/
Parameters
localFile - a File
Returns:
the temporary filename to use.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getProtocol
getProtocol( ) → org.das2.util.filesystem.WebProtocol
return the protocol object, which allows access to the metadata. This
may go away, so do not depend on this for production code.
Returns:
the protocol object.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getReadOnlyCache
getReadOnlyCache( ) → java.io.File
Returns:
java.io.File
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getRootURL
getRootURL( ) → java.net.URL
return the root of the filesystem as a URL.
Since the root is stored as a URI and "ftp://jbf@mysite.com:@ftpproxy.net/temp/" is a legal address, check for this case.
Returns:
the root of the filesystem as a URL.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getURI
getURI( String filename ) → java.net.URI
return the URI for the internal filename
Parameters
filename - internal filename
Returns:
a java.net.URI
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
getURL
getURL( String filename ) → java.net.URL
return the URL for the internal filename, encoding the characters if necessary.
Parameters
filename - internal filename
Returns:
a java.net.URL
See Also:
DefaultHttpProtocol#urlEncodeSansSlash(java.lang.String)
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
isAppletMode
isAppletMode( ) → boolean
Returns:
boolean
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
isDirectory
isDirectory( String filename ) → boolean
return true if the name refers to a directory, not a file.
Parameters
filename - a String
Returns:
a boolean
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
isGitClone
isGitClone( java.io.File root, String path ) → String
return the canonical path for the path, if it is part of a git clone.
Parameters
root - a directory which is a clone of some path, possibly
path - the path within the path.
Returns:
the canonical path, or null if it is not a git clone.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
isListingCached
isListingCached( String directory ) → boolean
return true if the listing file (.listing) is available in the
file system cache, and is still fresh. LISTING_TIMEOUT_MS controls
the freshness, where files older than LISTING_TIMEOUT_MS milliseconds
will not be used. Note the timestamp on the file comes from the server
providing the listing, so the age may be negative when clocks are not
synchronized.
Parameters
directory - a String
Returns:
true if the listing is cached.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
isOffline
isOffline( ) → boolean
Returns:
boolean
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
listDirectory
listDirectory( String directory ) → String[]
return the directory listing for the name.
Parameters
directory - a String
Returns:
a String[]
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
listDirectory( String directory, String regex ) → String[]
localRoot
localRoot( java.net.URI root ) → java.io.File
return the local root for the URI.
Parameters
root - the URI such as http://das2.org/data/
Returns:
/home/jbf/autoplot_data/fscache/http/das2.org/data/
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
maybeUpdateDirectoryEntry
maybeUpdateDirectoryEntry( String filename, boolean force ) → org.das2.util.filesystem.FileSystem.DirectoryEntry
trigger an update of the in-memory listing, or check to see if it is in memory.
Parameters
filename - the particular file for which we need a listing.
force - if true, then list if it isn't available.
Returns:
null if the listing is not available, or if the element is not in the folder, the DirectoryEntry otherwise.
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
removePropertyChangeListener
removePropertyChangeListener( java.beans.PropertyChangeListener listener ) → void
Parameters
listener - a PropertyChangeListener
Returns:
void (returns nothing)
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
resetListCache
resetListCache( String directory ) → void
From FTPBeanFileSystem.
Parameters
directory - a String
Returns:
void (returns nothing)
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
resetListingCache
resetListingCache( ) → void
reset the .listing files and the ram-memory caches.
Returns:
void (returns nothing)
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
setAppletMode
setAppletMode( boolean applet ) → void
Parameters
applet - a boolean
Returns:
void (returns nothing)
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
setOffline
setOffline( boolean offline ) → void
Parameters
offline - a boolean
Returns:
void (returns nothing)
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
setReadOnlyCache
setReadOnlyCache( java.io.File f ) → void
Parameters
f - a File
Returns:
void (returns nothing)
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]
toString
toString( ) → String
Returns:
java.lang.String
[search for examples]
[view on GitHub]
[view on old javadoc]
[view source]