Class EntityImportHelper


  • public class EntityImportHelper
    extends Object
    Helper class for importing entities
    Author:
    XIMA MEDIA GmbH
    • Method Detail

      • addValueToEntityField

        public static <T extends de.xima.cmn.dao.interfaces.IEntity<Long>> T addValueToEntityField​(T entity,
                                                                                                   String fieldDescriptor,
                                                                                                   Object value)
                                                                                            throws Exception
        Adds/sets the given value to the field property of the entity.
        Parameters:
        entity - IEntity entity for which the field value should be added/set
        fieldDescriptor - String descriptor of the field to set e.g 'bedingung#folgeAktion'
        value - Object to set for the field or add to the field (if list)
        Throws:
        Exception - on errors during setting the value
      • addValueToEntityField

        public static <T extends de.xima.cmn.dao.interfaces.IEntity<Long>> T addValueToEntityField​(IEntityContext ec,
                                                                                                   T entity,
                                                                                                   String fieldDescriptor,
                                                                                                   Object value)
                                                                                            throws Exception
        Adds/sets the given value to the field property of the entity. The entity will be reloaded from DAO if possible
        Parameters:
        ec - IEntityContext to use
        entity - IEntity entity for which the field value should be added/set
        fieldDescriptor - String descriptor of the field to set e.g 'bedingung#folgeAktion'
        value - Object to set for the field or add to the field (if list)
        Throws:
        Exception - on errors during setting the value
      • setEntityField

        public static void setEntityField​(de.xima.cmn.dao.interfaces.IEntity<Long> entity,
                                          String fieldDescriptor,
                                          Object value)
                                   throws IllegalArgumentException,
                                          IllegalAccessException
        Sets the field property of the entity with the given value
        Parameters:
        entity - IEntity entity for which the field should be set
        fieldDescriptor - String descriptor of the field to set e.g 'bedingung#folgeAktion'
        value - Object to set for the field
        Throws:
        IllegalAccessException - When the field is inaccssible.
        IllegalArgumentException - When the type of the field is incompatible with the given value.
      • getEntityField

        public static final Field getEntityField​(Class<?> clazz,
                                                 String fieldName)
        Gets the class field by name. If none is found and the class has a superclass, this method will recursively call itself with the superclass
        Parameters:
        clazz - Class to check for the field name
        fieldName - String field name to look for
        Returns:
        Field of the class or null if none was found
      • getUniqueEntityName

        public static final <T extends INameProviding & de.xima.cmn.dao.interfaces.IEntity<Long>> String getUniqueEntityName​(IEntityContext ec,
                                                                                                                             T entity,
                                                                                                                             T excludeEntity)
        Gets a unique entity name for the given entity
        Type Parameters:
        T - type of entity
        Parameters:
        ec - IEntityContext to be used
        entity - to get unique name for
        excludeEntity - to be excluded in search for a unique name
        Returns:
        String unique entity name
      • checkEntityNameExists

        public static final boolean checkEntityNameExists​(IEntityContext ec,
                                                          String name,
                                                          de.xima.cmn.dao.interfaces.IEntity<Long> entity,
                                                          de.xima.cmn.dao.interfaces.IEntity<Long> excludeEntity)
      • isEntityNameExists

        public static final boolean isEntityNameExists​(IEntityContext ec,
                                                       String name,
                                                       de.xima.cmn.dao.interfaces.IEntity<Long> entity,
                                                       boolean excludeSelf)
        Checks whether or not the name of the entity is used by any other entity in its context
        Parameters:
        ec - IEntityContext to be used
        name - String to check for
        entity - IEntity to check for
        excludeSelf - Boolean whether to include this entity's name (based on UUID if existing, otherwise based on ID)
        Returns:
        true if another entity has the given entity's name within its context. false otherwise
      • isProjectTitleExists

        public static final boolean isProjectTitleExists​(IEntityContext ec,
                                                         String title,
                                                         Projekt project,
                                                         boolean excludeSelf)
        Checks whether or not the given title is used by any other project of this client
        Parameters:
        ec - IEntityContext to be used
        title - String to check for
        project - Projekt to check for
        excludeSelf - Boolean whether to include this project's title (based on UUID)
        Returns:
        true if another entity has the given entity's name within its context. false otherwise
      • getDisplayName

        public static final String getDisplayName​(de.xima.cmn.dao.interfaces.IEntity<Long> entity,
                                                  Locale locale)
        Returns a String representation of the entity for displaying to the user
        Parameters:
        entity - IEntity to get a display name for
        locale - Locale used for getting compound display names
        Returns:
        String name representing the entity for messaging
      • getDisplayName

        public static final String getDisplayName​(de.xima.cmn.dao.interfaces.IEntity<Long> entity)
        Returns a String representation of the entity for displaying to the user
        Parameters:
        entity - IEntity to get a display name for
        Returns:
        String name representing the entity for messaging
      • compareByEntityClass

        public static final int compareByEntityClass​(Object o1,
                                                     Object o2)
      • isIdentical

        public static final boolean isIdentical​(de.xima.cmn.dao.interfaces.IEntity<Long> e1,
                                                de.xima.cmn.dao.interfaces.IEntity<Long> e2)
        Compares to entities and checks if they are "identical"
        Parameters:
        e1 - IEntity
        e2 - IEntity
        Returns:
        Boolean
      • updateInboxRef

        @Deprecated
        public static final void updateInboxRef​(IInboxDependent proc,
                                                Postfach inbox)
        Deprecated.
        Sets the inbox reference in the given inbox dependent processing to the given inbox. An invalid refernce will be set if the inbox is null
        Parameters:
        proc - IInboxDependent processing to set reference for
        inbox - Postfach to set reference to
      • getEntityName

        public static final <T extends de.xima.cmn.dao.interfaces.IEntity<Long>> String getEntityName​(UUID uuid,
                                                                                                      Class<T> entityClass,
                                                                                                      List<IEntityImportConfig<?>> importConfigs)
        Looks for entity with the given uuid and class in the list of import configs and returns its name if there is any.
        Type Parameters:
        T - the entity-class-type
        Parameters:
        uuid - UUID of the entity
        entityClass - Class of the entity
        importConfigs - List of import configs to look through
        Returns:
        the name of the entity or null if none was found
      • getEntity

        public static final de.xima.cmn.dao.interfaces.IEntity<Long> getEntity​(UUID uuid,
                                                                               Class<? extends de.xima.cmn.dao.interfaces.IEntity<Long>> entityClass,
                                                                               List<IEntityImportConfig<?>> importConfigs)
        Looks for entity with the given uuid and class in the list of import configs and returns it.
        Parameters:
        uuid - UUID of the entity
        entityClass - Class of the entity
        importConfigs - List of import configs to look through
        Returns:
        IEntity entity or null if none was found