Class GraphHelper


  • public class GraphHelper
    extends java.lang.Object
    Factors common code out of GraphQuery implementations for reuse.
    Since:
    5.2.3
    • 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 instance
        graphPathBean - 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
      • 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 Ice StringSet to a set.
        Parameters:
        legalClasses - legal target object classes
        targetClasses - 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 Ice StringLongListMap to a multimap.
        Parameters:
        legalClasses - legal target object classes
        targetObjects - 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 event
        action - the name of the change action
        className - the class of objects that were changed
        ids - the IDs of the objects that were changed