Package omero.cmd.graphs
Class GraphHelper
- java.lang.Object
-
- omero.cmd.graphs.GraphHelper
-
public class GraphHelper extends java.lang.ObjectFactors common code out ofGraphQueryimplementations for reuse.- Since:
- 5.2.3
-
-
Constructor Summary
Constructors Constructor Description GraphHelper(Helper helper, ome.services.graphs.GraphPathBean graphPathBean)Construct a helper for a graph request instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleancheckIsAdministrator(ome.model.enums.AdminPrivilege requiredPrivilege)Check if the current user is an administrator.java.util.Set<java.lang.Class<? extends ome.model.IObject>>getClassesFromNames(java.util.Collection<java.lang.String> classNames)Given class names provided by the user, find the corresponding set of actual classes.com.google.common.collect.SetMultimap<java.lang.String,java.lang.Long>getTargetMultimap(java.util.Set<java.lang.Class<? extends ome.model.IObject>> legalClasses, java.util.Map<java.lang.String,java.util.List<java.lang.Long>> targetObjects)Converts the IceStringLongListMapto a multimap.java.util.Set<java.lang.String>getTargetSet(java.util.Set<java.lang.Class<? extends ome.model.IObject>> legalClasses, java.util.Collection<java.lang.String> targetClasses)Converts the IceStringSetto a set.java.util.Set<java.lang.String>getTopLevelNames(java.lang.Iterable<java.lang.Class<? extends ome.model.IObject>> modelClasses)Get the simple names of the top-level superclasses of the given classes.ome.services.graphs.GraphTraversalprepareGraphTraversal(java.util.List<ChildOption> childOptions, java.util.Set<ome.services.graphs.GraphPolicy.Ability> requiredPermissions, ome.services.graphs.GraphPolicy graphPolicy, java.lang.Iterable<java.util.function.Function<ome.services.graphs.GraphPolicy,ome.services.graphs.GraphPolicy>> graphPolicyAdjusters, ome.security.ACLVoter aclVoter, ome.services.graphs.GraphPathBean graphPathBean, com.google.common.collect.SetMultimap<java.lang.String,java.lang.String> unnullable, ome.services.graphs.GraphTraversal.Processor processor, boolean dryRun)Construct a graph traversal manager for aGraphQueryrequest.voidpublishEventLog(org.springframework.context.ApplicationContext context, java.lang.String action, java.lang.String className, java.util.Collection<java.lang.Long> ids)Publish database changes to the event log.
-
-
-
Constructor Detail
-
GraphHelper
public GraphHelper(Helper helper, ome.services.graphs.GraphPathBean graphPathBean)
Construct a helper for a graph request instance.- Parameters:
helper- the general request helper for the graph request instancegraphPathBean- the graph path bean
-
-
Method Detail
-
checkIsAdministrator
public boolean checkIsAdministrator(ome.model.enums.AdminPrivilege requiredPrivilege)
Check if the current user is an administrator.- Parameters:
requiredPrivilege- the privilege that the administrator must have if they are a light administrator- Returns:
- if the current user is an administrator
-
getClassesFromNames
public java.util.Set<java.lang.Class<? extends ome.model.IObject>> getClassesFromNames(java.util.Collection<java.lang.String> classNames)
Given class names provided by the user, find the corresponding set of actual classes.- Parameters:
classNames- names of model object classes- Returns:
- the named classes
-
prepareGraphTraversal
public ome.services.graphs.GraphTraversal prepareGraphTraversal(java.util.List<ChildOption> childOptions, java.util.Set<ome.services.graphs.GraphPolicy.Ability> requiredPermissions, ome.services.graphs.GraphPolicy graphPolicy, java.lang.Iterable<java.util.function.Function<ome.services.graphs.GraphPolicy,ome.services.graphs.GraphPolicy>> graphPolicyAdjusters, ome.security.ACLVoter aclVoter, ome.services.graphs.GraphPathBean graphPathBean, com.google.common.collect.SetMultimap<java.lang.String,java.lang.String> unnullable, ome.services.graphs.GraphTraversal.Processor processor, boolean dryRun)
Construct a graph traversal manager for aGraphQueryrequest.- Parameters:
childOptions- the child options set on the requestrequiredPermissions- the abilities that the user must have to operate upon an object for it to be includedgraphPolicy- the graph policy for the requestgraphPolicyAdjusters- the adjusters to be applied to the graph policyaclVoter- ACL voter for permissions checkinggraphPathBean- the graph path beanunnullable- properties that, while nullable, may not be nulled by a graph traversal operationprocessor- how to operate on the resulting target object graphdryRun- if the request should skip the actual model object updates- Returns:
- the new graph traversal manager
-
getTargetSet
public java.util.Set<java.lang.String> getTargetSet(java.util.Set<java.lang.Class<? extends ome.model.IObject>> legalClasses, java.util.Collection<java.lang.String> targetClasses)Converts the IceStringSetto a set.- Parameters:
legalClasses- legal target object classestargetClasses- the actual target object classes- Returns:
- a set of the legal model objects to process
- Throws:
ome.conditions.InternalException- if any of the target classes are illegal
-
getTargetMultimap
public com.google.common.collect.SetMultimap<java.lang.String,java.lang.Long> getTargetMultimap(java.util.Set<java.lang.Class<? extends ome.model.IObject>> legalClasses, java.util.Map<java.lang.String,java.util.List<java.lang.Long>> targetObjects)Converts the IceStringLongListMapto a multimap.- Parameters:
legalClasses- legal target object classestargetObjects- the model objects to process- Returns:
- a multimap of the legal model objects to process
- Throws:
ome.conditions.InternalException- if any of the target object classes are illegal
-
getTopLevelNames
public java.util.Set<java.lang.String> getTopLevelNames(java.lang.Iterable<java.lang.Class<? extends ome.model.IObject>> modelClasses)
Get the simple names of the top-level superclasses of the given classes.- Parameters:
modelClasses- some model classes- Returns:
- the simple names of their top-level classes
-
publishEventLog
public void publishEventLog(org.springframework.context.ApplicationContext context, java.lang.String action, java.lang.String className, java.util.Collection<java.lang.Long> ids)Publish database changes to the event log.- Parameters:
context- the context for publishing the application eventaction- the name of the change actionclassName- the class of objects that were changedids- the IDs of the objects that were changed
-
-