Class UserSessionFilters

  • All Implemented Interfaces:
    java.io.Serializable

    public class UserSessionFilters
    extends java.lang.Object
    implements java.io.Serializable
    Global filters in user's session
    See Also:
    Serialized Form
    • Constructor Detail

      • UserSessionFilters

        public UserSessionFilters​(Grant g)
        Constructor
        Parameters:
        g - User rights
    • Method Detail

      • setDateRange

        public void setDateRange​(boolean b)
      • hasDateRange

        public boolean hasDateRange()
      • toJSON

        public java.lang.String toJSON​(boolean pub)
        Get filters as JSON
        Parameters:
        pub - get only public/updatable filters for front usage
        Returns:
        JSON
      • addFieldFilter

        public void addFieldFilter​(java.lang.String field,
                                   java.lang.String value,
                                   boolean updatable,
                                   boolean uiOnly)
        Global field filter to apply on all objects having the field
        Parameters:
        field - Field name
        value - Optional filter value
        updatable - Field is accessible for change by user
        uiOnly - Apply filter rule on UI instance only?
      • addObjectFilter

        public void addObjectFilter​(java.lang.String object,
                                    java.lang.String rowId,
                                    boolean updatable,
                                    boolean uiOnly,
                                    java.lang.String fk)
        Global reference filter to apply on all foreign-key of object
        Parameters:
        object - Object name
        rowId - Optional object rowId
        updatable - Accessible for change by user
        uiOnly - Apply filter rule on UI instance only?
        fk - Foreign-key name to get FK value in table m_user_filters
      • removeFieldFilter

        public void removeFieldFilter​(java.lang.String field)
        Remove filter on field
        Parameters:
        field - Field name
      • removeObjectFilter

        public void removeObjectFilter​(java.lang.String object)
        Remove filter on object
        Parameters:
        object - Object name
      • getFilterValue

        public java.lang.String getFilterValue​(java.lang.String field)
        Get the field filter
        Parameters:
        field - Field name
        Returns:
        filter
      • getFilterObjectId

        public java.lang.String getFilterObjectId​(java.lang.String object)
        Get the object filter Id
        Parameters:
        object - Object name
        Returns:
        filter
      • hasPublicFilters

        public boolean hasPublicFilters()
        Has public filters (date range, field or object) ?
      • setWorkingDates

        public void setWorkingDates​(java.lang.String startDate,
                                    java.lang.String endDate)
        Global date range to search object with period overlap
        Parameters:
        startDate - optional start date YYYY-MM-DD
        endDate - optional end date YYYY-MM-DD
      • setWorkingDate

        public void setWorkingDate​(java.lang.String date)
        Global fixed date to search object with period overlap
        Parameters:
        date - fixed date YYYY-MM-DD
      • resetWorkingDates

        public void resetWorkingDates()
        Reset the global date range
      • getStartDate

        public java.lang.String getStartDate()
        Get optional start date
        Returns:
        YYYY-MM-DD
      • getEndDate

        public java.lang.String getEndDate()
        Get optional end date
        Returns:
        YYYY-MM-DD
      • apply

        public void apply​(ObjectDB obj)
        Prepare fixed fields
        Parameters:
        obj - Object
      • validate

        public java.lang.String validate​(ObjectDB obj)
        Validate object fields within session filters
        Parameters:
        obj - Object to validate
        Returns:
        Error ERR_DATERANGE or null
      • getId

        public java.lang.String getId()
        UserSessionFilters Id when the user has stored filters
      • loadUserFilters

        public void loadUserFilters()
        Load filter values stored in DB
      • getSearchSpec

        public java.lang.String getSearchSpec​(ObjectDB obj,
                                              java.util.List<ObjectField> hosts)
        Compile global filters to SQL part
        Parameters:
        obj - Object to apply
        hosts - SQL host values
        Returns:
        part of where clause
      • delete

        public void delete()
        Delete user filters in DB
      • reset

        public void reset()
        Reset user filters in DB and session