Package omero.cmd.graphs
Class DuplicateI
- java.lang.Object
-
- Ice.ObjectImpl
-
- omero.cmd.Request
-
- omero.cmd.GraphQuery
-
- omero.cmd.GraphModify2
-
- omero.cmd.Duplicate
-
- omero.cmd.graphs.DuplicateI
-
- All Implemented Interfaces:
Ice.Object
,java.io.Serializable
,java.lang.Cloneable
,ome.services.util.ReadOnlyStatus.IsAware
,WrappableRequest<Duplicate>
,IRequest
public class DuplicateI extends Duplicate implements IRequest, ome.services.util.ReadOnlyStatus.IsAware, WrappableRequest<Duplicate>
Request to duplicate model objects.- Since:
- 5.2.1
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from class omero.cmd.Duplicate
__ids, serialVersionUID, typesToDuplicate, typesToIgnore, typesToReference
-
Fields inherited from class omero.cmd.GraphModify2
childOptions, dryRun
-
Fields inherited from class omero.cmd.GraphQuery
targetObjects
-
-
Constructor Summary
Constructors Constructor Description DuplicateI(ome.security.ACLVoter aclVoter, ome.system.Roles securityRoles, ome.services.graphs.GraphPathBean graphPathBean, ome.security.basic.LightAdminPrivileges adminPrivileges, ome.services.delete.Deletion deletionInstance, java.util.Set<java.lang.Class<? extends ome.model.IObject>> targetClasses, ome.services.graphs.GraphPolicy graphPolicy, com.google.common.collect.SetMultimap<java.lang.String,java.lang.String> unnullable, org.springframework.context.ApplicationContext applicationContext)
Construct a newduplicate
request; called fromGraphRequestFactory.getRequest(Class)
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
adjustGraphPolicy(java.util.function.Function<ome.services.graphs.GraphPolicy,ome.services.graphs.GraphPolicy> adjuster)
Transform the currently applicable graph policy for this request by the given function.void
buildResponse(int step, java.lang.Object object)
Post-transaction chance to map from the return value ofIRequest.step(int)
to aResponse
object.void
copyFieldsTo(Duplicate request)
Copy the fields of this request to that of the given request.void
finish()
Method within the transaction boundaries after all processing has occurred.ome.services.graphs.GraphPolicy.Action
getActionForStarting()
java.util.Map<java.lang.String,java.lang.String>
getCallContext()
Returns the desired call context for this request.Response
getResponse()
Returns the current response value.java.util.Map<java.lang.String,java.util.List<java.lang.Long>>
getStartFrom(Response response)
From the response of the head-skipping request, determine which model objects are the targets of the operation.int
getStepProvidingCompleteResponse()
Get the step of this request that suffices for assembling the request's response.void
init(Helper helper)
Method called within the transaction boundaries before any processing occurs.boolean
isReadOnly(ome.services.util.ReadOnlyStatus readOnly)
void
setOriginalFileRepos()
Use SQL to effect the requiredOriginalFile.setRepo(String)
operations since the property was nulled for persisting the duplicate instances.java.lang.Object
step(int step)
Single uncancellable action which will be performed by this IRequest.-
Methods inherited from class omero.cmd.Duplicate
__readImpl, __writeImpl, clone, ice_factory, ice_id, ice_id, ice_ids, ice_ids, ice_isA, ice_isA, ice_staticId
-
-
-
-
Constructor Detail
-
DuplicateI
public DuplicateI(ome.security.ACLVoter aclVoter, ome.system.Roles securityRoles, ome.services.graphs.GraphPathBean graphPathBean, ome.security.basic.LightAdminPrivileges adminPrivileges, ome.services.delete.Deletion deletionInstance, java.util.Set<java.lang.Class<? extends ome.model.IObject>> targetClasses, ome.services.graphs.GraphPolicy graphPolicy, com.google.common.collect.SetMultimap<java.lang.String,java.lang.String> unnullable, org.springframework.context.ApplicationContext applicationContext)
Construct a newduplicate
request; called fromGraphRequestFactory.getRequest(Class)
.- Parameters:
aclVoter
- ACL voter for permissions checkingsecurityRoles
- the security rolesgraphPathBean
- the graph path bean to useadminPrivileges
- the light administrator privileges helperdeletionInstance
- a deletion instance for deleting filestargetClasses
- legal target object classes for duplicategraphPolicy
- the graph policy to apply for duplicateunnullable
- properties that, while nullable, may not be nulled by a graph traversal operationapplicationContext
- the OMERO application context from Spring
-
-
Method Detail
-
getCallContext
public java.util.Map<java.lang.String,java.lang.String> getCallContext()
Description copied from interface:IRequest
Returns the desired call context for this request. Some request implementations will require "omero.group":"-1" for example and will hard-code that value. Others may permit users to pass in the desired values which will be merged into the staticMap
as desired.- Specified by:
getCallContext
in interfaceIRequest
- Returns:
- the call context for this request
-
init
public void init(Helper helper)
Description copied from interface:IRequest
Method called within the transaction boundaries before any processing occurs. Implementations must properly initialize the "step" field of theStatus
object by callingHelper.setSteps(int)
. This count will define how many times theIRequest.step(int)
method will be called. TheHelper
instance passed in contains those resources needed by IRequests to interact with data and should be stored for later use.
-
setOriginalFileRepos
public void setOriginalFileRepos()
Use SQL to effect the requiredOriginalFile.setRepo(String)
operations since the property was nulled for persisting the duplicate instances.
-
step
public java.lang.Object step(int step) throws HandleI.Cancel
Description copied from interface:IRequest
Single uncancellable action which will be performed by this IRequest. The return value can be an ome.model object that is attached to the current thread and transaction. After processing and detachment from the transaction, the object will be passed toIRequest.buildResponse(int, Object)
for conversion and storage.- Specified by:
step
in interfaceIRequest
- Parameters:
step
- the step number- Returns:
- an object to be used in building the response
- Throws:
HandleI.Cancel
- if this request is cancelled
-
finish
public void finish()
Description copied from interface:IRequest
Method within the transaction boundaries after all processing has occurred. A thrownHandleI.Cancel
will still rollback the current transaction.
-
buildResponse
public void buildResponse(int step, java.lang.Object object)
Description copied from interface:IRequest
Post-transaction chance to map from the return value ofIRequest.step(int)
to aResponse
object.- Specified by:
buildResponse
in interfaceIRequest
- Parameters:
step
- the step numberobject
- an object to be used in building the response
-
getResponse
public Response getResponse()
Description copied from interface:IRequest
Returns the current response value. This method should be protected by synchronization where necessary, and should never raise an exception. It is also guaranteed to be called so that any state cleanup that is necessary can take place here.- Specified by:
getResponse
in interfaceIRequest
- Returns:
- the response to this request
-
copyFieldsTo
public void copyFieldsTo(Duplicate request)
Description copied from interface:WrappableRequest
Copy the fields of this request to that of the given request.- Specified by:
copyFieldsTo
in interfaceWrappableRequest<Duplicate>
- Parameters:
request
- the target of the field copy
-
adjustGraphPolicy
public void adjustGraphPolicy(java.util.function.Function<ome.services.graphs.GraphPolicy,ome.services.graphs.GraphPolicy> adjuster)
Description copied from interface:WrappableRequest
Transform the currently applicable graph policy for this request by the given function. Must be called beforeIRequest.init(omero.cmd.Helper)
.- Specified by:
adjustGraphPolicy
in interfaceWrappableRequest<Duplicate>
- Parameters:
adjuster
- a transformation function for graph policies
-
getStepProvidingCompleteResponse
public int getStepProvidingCompleteResponse()
Description copied from interface:WrappableRequest
Get the step of this request that suffices for assembling the request's response. It is presumed that checking the permissibility of the planned operation occurs afterward.- Specified by:
getStepProvidingCompleteResponse
in interfaceWrappableRequest<Duplicate>
- Returns:
- a step number
-
getActionForStarting
public ome.services.graphs.GraphPolicy.Action getActionForStarting()
- Specified by:
getActionForStarting
in interfaceWrappableRequest<Duplicate>
- Returns:
- the action associated with nodes qualifying as start objects
-
getStartFrom
public java.util.Map<java.lang.String,java.util.List<java.lang.Long>> getStartFrom(Response response)
Description copied from interface:WrappableRequest
From the response of the head-skipping request, determine which model objects are the targets of the operation.- Specified by:
getStartFrom
in interfaceWrappableRequest<Duplicate>
- Parameters:
response
- the head-skipping request's response- Returns:
- the model objects to target
-
isReadOnly
public boolean isReadOnly(ome.services.util.ReadOnlyStatus readOnly)
- Specified by:
isReadOnly
in interfaceome.services.util.ReadOnlyStatus.IsAware
-
-