public class PublicRepositoryI extends java.lang.Object implements _RepositoryOperations, org.springframework.context.ApplicationContextAware
| Modifier and Type | Class and Description |
|---|---|
static class |
PublicRepositoryI.AMD_submit |
| Modifier and Type | Field and Description |
|---|---|
protected com.google.common.collect.ImmutableList<ChecksumAlgorithm> |
checksumAlgorithms |
protected ome.util.checksum.ChecksumProviderFactory |
checksumProviderFactory |
protected ome.system.OmeroContext |
context |
static java.lang.String |
DIRECTORY_MIMETYPE
Mimetype used to connote a directory
OriginalFile object. |
protected FilePathRestrictions |
filePathRestrictions |
static java.lang.String |
IMPORT_LOG_MIMETYPE
media type for import logs
|
protected RepositoryDao |
repositoryDao |
protected ServerFilePathTransformer |
serverPaths |
| Constructor and Description |
|---|
PublicRepositoryI(RepositoryDao repositoryDao,
ome.util.checksum.ChecksumProviderFactory checksumProviderFactory,
java.lang.String checksumAlgorithmSupported,
java.lang.String pathRules) |
| Modifier and Type | Method and Description |
|---|---|
protected CheckedPath |
checkPath(java.lang.String path,
ChecksumAlgorithm checksumAlgorithm,
Ice.Current curr)
Create a new
CheckedPath object based on the given user input. |
protected RawFileStorePrx |
createRepoRFS(CheckedPath checked,
java.lang.String mode,
Ice.Current __current)
Create, initialize, and register an
RepoRawFileStoreI
with the proper setting (read or write). |
HandlePrx |
deletePaths(java.lang.String[] files,
boolean recursive,
boolean force,
Ice.Current __current)
Delete paths recursively as described in Repositories.ice.
|
RawFileStorePrx |
file(java.lang.String path,
java.lang.String mode,
Ice.Current __current)
Returns a special RawFileStore which permits only the operations
set out in the options string ""wb"", ""a+"", etc.
|
RawFileStorePrx |
fileById(long fileId,
Ice.Current __current) |
boolean |
fileExists(java.lang.String path,
Ice.Current __current)
Returns true if the file or path exists within the repository.
|
protected OriginalFile |
findInDb(CheckedPath checked,
java.lang.String mode,
Ice.Current current)
Find the given path in the DB or create.
|
protected OriginalFile |
findOrCreateInDb(CheckedPath checked,
java.lang.String mode,
Ice.Current curr) |
protected OriginalFile |
findOrCreateInDb(CheckedPath checked,
java.lang.String mode,
java.lang.String mimetype,
Ice.Current curr) |
protected Ice.ObjectFactory |
getFactory(java.lang.String id,
Ice.Current current) |
java.lang.String |
getRepoUuid() |
void |
initialize(FileMaker fileMaker,
java.lang.Long id,
java.lang.String repoUuid)
Called by the internal repository once initialization has taken place.
|
java.util.List<java.lang.String> |
list(java.lang.String path,
Ice.Current __current)
Returns a set of strings naming the files and directories in
the directory denoted by an abstract pathname.
|
java.util.List<OriginalFile> |
listFiles(java.lang.String path,
Ice.Current __current)
Returns an array of abstract pathname objects denoting the
files in the directory denoted by an abstract pathname.
|
protected Ice.Current |
makeAdjustedCurrent(Ice.Current __current) |
protected void |
makeCheckedDirs(java.util.LinkedList<CheckedPath> paths,
boolean parents,
org.hibernate.Session s,
ome.system.ServiceFactory sf,
ome.util.SqlAction sql,
ome.system.EventContext effectiveEventContext)
Internal method to be used by subclasses to perform any extra checks on
the listed of
CheckedPath instances before allowing the creation
of directories. |
protected void |
makeCheckedDirs(java.util.LinkedList<CheckedPath> paths,
boolean parents,
org.hibernate.Session s,
ome.system.ServiceFactory sf,
ome.util.SqlAction sql,
ome.system.EventContext effectiveEventContext,
java.util.function.Consumer<CheckedPath> fileCreationListener)
Internal method to be used by subclasses to perform any extra checks on
the listed of
CheckedPath instances before allowing the creation
of directories. |
void |
makeDir(CheckedPath checked,
boolean parents,
org.hibernate.Session s,
ome.system.ServiceFactory sf,
ome.util.SqlAction sql,
ome.system.EventContext effectiveEventContext) |
void |
makeDir(java.lang.String path,
boolean parents,
Ice.Current current)
Create a nested path in the repository.
|
java.lang.String |
mimetype(java.lang.String path,
Ice.Current __current)
Get the mimetype for a file.
|
protected ome.model.core.OriginalFile |
persistLogFile(ome.model.core.OriginalFile originalFile,
Ice.Current current)
Deprecated.
|
protected void |
publishMessage(ome.util.messages.InternalMessage msg) |
OriginalFile |
register(java.lang.String path,
RString mimetype,
Ice.Current __current)
Register an OriginalFile using its path
|
OriginalFile |
root(Ice.Current __current)
Return the OriginalFile descriptor for this Repository.
|
java.lang.String |
rootPath(org.hibernate.Session session,
ome.system.ServiceFactory serviceFactory) |
void |
setApplicationContext(org.springframework.context.ApplicationContext applicationContext) |
protected java.lang.String |
stackTraceAsString(java.lang.Throwable t) |
protected PublicRepositoryI.AMD_submit |
submitRequest(ServiceFactoryI sf,
Request req,
Ice.Current current) |
protected PublicRepositoryI.AMD_submit |
submitRequest(ServiceFactoryI sf,
Request req,
Ice.Current current,
ome.services.util.Executor.Priority priority) |
protected Ice.Current |
sudo(Ice.Current current,
java.lang.String sessionUuid)
Provide a
Current like the given one, except with the request context session UUID replaced. |
Ice.Object |
tie()
Wrap the current instance with an
TieBase so that it
can be turned into a proxy. |
RMap |
treeList(java.lang.String path,
Ice.Current __current)
Similar to
list but recursive and returns only
primitive values for the file at each location. |
public static final java.lang.String DIRECTORY_MIMETYPE
OriginalFile object.public static final java.lang.String IMPORT_LOG_MIMETYPE
protected ServerFilePathTransformer serverPaths
protected final RepositoryDao repositoryDao
protected final ome.util.checksum.ChecksumProviderFactory checksumProviderFactory
protected final com.google.common.collect.ImmutableList<ChecksumAlgorithm> checksumAlgorithms
protected FilePathRestrictions filePathRestrictions
protected ome.system.OmeroContext context
public PublicRepositoryI(RepositoryDao repositoryDao, ome.util.checksum.ChecksumProviderFactory checksumProviderFactory, java.lang.String checksumAlgorithmSupported, java.lang.String pathRules) throws ServerError
ServerErrorpublic void initialize(FileMaker fileMaker, java.lang.Long id, java.lang.String repoUuid) throws ValidationException
fileMaker - id - ValidationExceptionpublic Ice.Object tie()
TieBase so that it
can be turned into a proxy. This is required due to the subclassing
between public repo instances.public java.lang.String getRepoUuid()
public OriginalFile root(Ice.Current __current) throws ServerError
_RepositoryOperationsroot in interface _RepositoryOperations__current - The Current object for the invocation.ServerErrorpublic boolean fileExists(java.lang.String path,
Ice.Current __current)
throws ServerError
_RepositoryOperationslistFiles would return an object for this path.fileExists in interface _RepositoryOperations__current - The Current object for the invocation.ServerErrorpublic java.util.List<java.lang.String> list(java.lang.String path,
Ice.Current __current)
throws ServerError
_RepositoryOperationslist in interface _RepositoryOperations__current - The Current object for the invocation.ServerErrorpublic java.util.List<OriginalFile> listFiles(java.lang.String path, Ice.Current __current) throws ServerError
_RepositoryOperationsOriginalFile instance.listFiles in interface _RepositoryOperations__current - The Current object for the invocation.ServerErrorpublic RMap treeList(java.lang.String path, Ice.Current __current) throws ServerError
_RepositoryOperationslist but recursive and returns only
primitive values for the file at each location. Guaranteed for
each path is only the values id and mimetype.
After a call to unwrap, the returned RMap for a
call to treeList("/user_1/dir0") might look something like:
{
"/user_1/dir0/file1.txt" :
{
"id":10,
"mimetype":
"binary",
"size": 10000L
},
"/user_1/dir0/dir1" :
{
"id": 100,
"mimetype": "Directory",
"size": 0L,
"files":
{
"/user_1/dir0/dir1/file1indir.txt" :
{
"id": 1,
"mimetype": "png",
"size": 500
}
}
}
}
treeList in interface _RepositoryOperations__current - The Current object for the invocation.ServerErrorpublic java.lang.String rootPath(org.hibernate.Session session,
ome.system.ServiceFactory serviceFactory)
throws ServerError
session - the Hibernate sessionserviceFactory - the service factoryServerError - if the root path could not be retrievedpublic OriginalFile register(java.lang.String path, RString mimetype, Ice.Current __current) throws ServerError
register in interface _RepositoryOperationspath - Absolute path of the file to be registered.mimetype - Mimetype as an RString__current - ice context.ServerErrorpublic HandlePrx deletePaths(java.lang.String[] files, boolean recursive, boolean force, Ice.Current __current) throws ServerError
treeList(String, Ice.Current) to build the recursive
list of files.deletePaths in interface _RepositoryOperationsfiles - non-null, preferably non-empty list of files to check.recursive - See Repositories.ice for an explanationforce - See Repositories.ice for an explanation__current - Non-null ice context.ServerErrorpublic java.lang.String mimetype(java.lang.String path,
Ice.Current __current)
throws ServerError
mimetype in interface _RepositoryOperationspath - A path on a repository.__current - ice context.ServerErrorpublic RawFileStorePrx file(java.lang.String path, java.lang.String mode, Ice.Current __current) throws ServerError
_RepositoryOperationsfile in interface _RepositoryOperations__current - The Current object for the invocation.ServerErrorpublic RawFileStorePrx fileById(long fileId, Ice.Current __current) throws ServerError
fileById in interface _RepositoryOperationsServerErrorprotected OriginalFile findInDb(CheckedPath checked, java.lang.String mode, Ice.Current current) throws ServerError
ServerError@Deprecated
protected ome.model.core.OriginalFile persistLogFile(ome.model.core.OriginalFile originalFile,
Ice.Current current)
throws ServerError
originalFile - the ID of the log filecurrent - the Ice method invocation contextServerErrorprotected OriginalFile findOrCreateInDb(CheckedPath checked, java.lang.String mode, Ice.Current curr) throws ServerError
ServerErrorprotected OriginalFile findOrCreateInDb(CheckedPath checked, java.lang.String mode, java.lang.String mimetype, Ice.Current curr) throws ServerError
ServerErrorprotected Ice.Current makeAdjustedCurrent(Ice.Current __current)
protected Ice.Current sudo(Ice.Current current,
java.lang.String sessionUuid)
Current like the given one, except with the request context session UUID replaced.current - an Current instancesessionUuid - a new session UUID for the instanceCurrent instance like the given one but with the new session UUIDprotected RawFileStorePrx createRepoRFS(CheckedPath checked, java.lang.String mode, Ice.Current __current) throws ServerError, InternalException
RepoRawFileStoreI
with the proper setting (read or write).checked - The file that will be read. Can't be null,
and must have ID set.mode - The mode for writing. If null, read-only.__current - The current user's session information.ServerErrorInternalExceptionprotected void publishMessage(ome.util.messages.InternalMessage msg)
throws ServerError,
InternalException
ServerErrorInternalExceptionprotected PublicRepositoryI.AMD_submit submitRequest(ServiceFactoryI sf, Request req, Ice.Current current) throws ServerError, InternalException
ServerErrorInternalExceptionprotected PublicRepositoryI.AMD_submit submitRequest(ServiceFactoryI sf, Request req, Ice.Current current, ome.services.util.Executor.Priority priority) throws ServerError, InternalException
ServerErrorInternalExceptionprotected Ice.ObjectFactory getFactory(java.lang.String id,
Ice.Current current)
public void makeDir(java.lang.String path,
boolean parents,
Ice.Current current)
throws ServerError
makeDir in interface _RepositoryOperationspath - A path on a repository.parents - Boolean switch like the "mkdir -p" flag in unix.current - ice context.ServerErrorpublic void makeDir(CheckedPath checked, boolean parents, org.hibernate.Session s, ome.system.ServiceFactory sf, ome.util.SqlAction sql, ome.system.EventContext effectiveEventContext) throws ServerError
ServerErrorprotected void makeCheckedDirs(java.util.LinkedList<CheckedPath> paths, boolean parents, org.hibernate.Session s, ome.system.ServiceFactory sf, ome.util.SqlAction sql, ome.system.EventContext effectiveEventContext) throws ServerError
CheckedPath instances before allowing the creation
of directories.paths - Not null, not empty. (Will be emptied by this method.)parents - "mkdir -p" like flag.s - the Hibernate sessionsf - the service factorysql - the JDBC convenience wrappereffectiveEventContext - the event context to applyServerErrorprotected void makeCheckedDirs(java.util.LinkedList<CheckedPath> paths, boolean parents, org.hibernate.Session s, ome.system.ServiceFactory sf, ome.util.SqlAction sql, ome.system.EventContext effectiveEventContext, java.util.function.Consumer<CheckedPath> fileCreationListener) throws ServerError
CheckedPath instances before allowing the creation
of directories.paths - Not null, not empty. (Will be emptied by this method.)parents - "mkdir -p" like flag.s - the Hibernate sessionsf - the service factorysql - the JDBC convenience wrappereffectiveEventContext - the event context to applyfileCreationListener - the file creation listener to notify of new directories being createdServerErrorpublic void setApplicationContext(org.springframework.context.ApplicationContext applicationContext)
throws org.springframework.beans.BeansException
setApplicationContext in interface org.springframework.context.ApplicationContextAwareorg.springframework.beans.BeansExceptionprotected CheckedPath checkPath(java.lang.String path, ChecksumAlgorithm checksumAlgorithm, Ice.Current curr) throws ValidationException
CheckedPath object based on the given user input.
This method is included to allow subclasses a chance to introduce their
own CheckedPath implementations.path - A path on a repository.ValidationExceptionprotected java.lang.String stackTraceAsString(java.lang.Throwable t)