Class SyncUtil


  • public class SyncUtil
    extends Object
    Provides utility methods used by the structure synchronization implementation.
    Since:
    6.2.0
    Version:
    $Revision: 20509 $ $Date: 2017-09-11 16:18:14 -0300 (Mon, 11 Sep 2017) $
    • Constructor Detail

      • SyncUtil

        public SyncUtil()
    • Method Detail

      • getCurrentChannel

        public static ChannelResume getCurrentChannel()
        Returns the channel that corresponds to the file currently being read or written.
        Returns:
        the channel.
        Since:
        6.2.0
        See Also:
        #read(Class, File, ChannelResume), #write(Object, File, ChannelResume), #writeIfModified(Object, File, ChannelResume)
      • writeIfModified

        public static void writeIfModified​(IFileElement obj,
                                           IFile file,
                                           ChannelResume currentChannel)
        Writes a structure file, only if the semantics in the object is different. If the file already exists it is overwritten.

        The write operation will occur locally or in the portal cluster depending on the file object type. If it is a IFile the write will be cluster-wide, otherwise it will occur only locally.

        Parameters:
        obj - the object to be written.
        file - the file.
        currentChannel - the channel the file belongs to.
        Since:
        8.0.0
      • isDefaultValue

        public static boolean isDefaultValue​(Field field,
                                             Object value)
        Indicates whether a value is the default value for a field.
        Parameters:
        field - the field.
        value - the value.
        Returns:
        true if the value is the default value, false otherwise.
        Since:
        6.2.0
        See Also:
        IDefaultAware
      • isEquivalentSortedCollection

        public static boolean isEquivalentSortedCollection​(Collection<?> col1,
                                                           Collection<?> col2)
        Returns whether two sorted collections are equivalent. They are considered equivalent if are of the same size and all values returned by their iterators are equivalent, in the same order.
        Parameters:
        col1 - a collection.
        col2 - the other collection.
        Returns:
        true if they are equivalent, false otherwise.
        Since:
        6.2.0
      • isEquivalent

        public static boolean isEquivalent​(Object obj1,
                                           Object obj2)
        Returns whether two objects are equivalent.

        By default only fields that would be output to the object's XML representation are compared. Relations to other entities are not compared (performs only a shallow comparison).

        Custom equivalence rules are used if the object implements ICustomEquivalence.

        Parameters:
        obj1 - a object.
        obj2 - other object.
        Returns:
        true if the objects are equivalent, false otherwise.
        Since:
        6.2.0
      • arePropertiesEquivalent

        public static boolean arePropertiesEquivalent​(Object obj1,
                                                      Object obj2)
        Returns whether the properties of two objects are equivalent.

        By default only fields that would be output to the object's XML representation are compared. Relations to other entities are not compared (performs only a shallow comparison).

        Custom equivalence rules are not used. To use them, use isEquivalent(Object, Object) instead of this method.

        Parameters:
        obj1 - a object.
        obj2 - other object.
        Returns:
        true if the objects properties are equivalent, false otherwise.
        Since:
        6.2.0
        See Also:
        isEquivalent(Object, Object), isEquivalentSortedCollection(Collection, Collection)
      • shallowUpdate

        public static void shallowUpdate​(org.hibernate.Session session,
                                         Object obj)
        Performs a shallow update on a hibernate entity object.
        Parameters:
        session - hibernate session for persistence access.
        obj - object representing updated data.
        Since:
        6.2.0
      • eagerLoad

        public static void eagerLoad​(org.hibernate.Session session,
                                     Collection<?> objs)
        Eager loads the given hibernate entity objects. Initializes all of the object's fields that are relations to other entities. Does not cascade the eager loading inside other entities.
        Parameters:
        session - hibernate session for persistence access.
        objs - the objects to load. All of them must be of the same class.
        Since:
        6.2.0
      • normalizeFilename

        public static String normalizeFilename​(String filename)
        Normalizes a filename by replacing special characters by underscore.
        Parameters:
        filename - the filename to be normalized.
        Returns:
        the normalization result.
        Since:
        6.2.0