Class ProjectIdMonitorValuesProvider

  • All Implemented Interfaces:
    java.io.Serializable, IMonitorValuesProvider

    public final class ProjectIdMonitorValuesProvider
    extends AbstractMonitorValuesProvider
    Class responsible for trying to infer the project identifier, if it is not already on the monitor values.
    Since:
    12.4.0
    Version:
    $Revision: 24789 $ $Date: 2021-12-20 17:37:20 -0300 (Mon, 20 Dec 2021) $
    See Also:
    Serialized Form
    • Method Detail

      • initValues

        protected java.util.Map<java.lang.String,​java.util.List<? extends java.io.Serializable>> initValues​(SessionConfig sessionConfig,
                                                                                                                  ITransaction transaction)
                                                                                                           throws java.lang.Exception
        Description copied from class: AbstractMonitorValuesProvider
        Initializes the monitoring values map. This method will only be called once and the results will be cached. The implementations must not return null. If no value is present, an empty map should be returned instead. Also, any null value in a list will be ignored, meaning that a list with only null will be considered a empty list.
        Specified by:
        initValues in class AbstractMonitorValuesProvider
        Parameters:
        sessionConfig - the session config.
        transaction - the transaction.
        Returns:
        the monitoring data map.
        Throws:
        java.lang.Exception
      • getProjectId

        public static java.lang.String getProjectId​(SessionConfig sessionConfig,
                                                    java.util.Deque<IMonitorValuesProvider> valueProviders,
                                                    boolean usePageChannelField,
                                                    boolean useSIChannelField,
                                                    boolean useWebsiteField,
                                                    ITransaction transaction)
                                             throws java.lang.Exception
        Returns the project identifier from the given monitor value providers, inferring it if necessary.
        Parameters:
        sessionConfig - the user session information.
        valueProviders - the monitor value providers.
        usePageChannelField - if the page channel identifier field is to be used for inference.
        useSIChannelField - if the service instance channel identifier field is to be used for inference.
        useWebsiteField - if the website identifier field is to be used for inference.
        transaction - the transaction for persistence access.
        Returns:
        the project identifier or null if it could not be found or inferred.
        Throws:
        java.lang.Exception - if thrown by a provider.
        Since:
        14.0.0