示例#1
0
        /// <summary>
        /// Retourne cube qui peut être null.
        /// </summary>
        /// <param name="key">CubeKey.</param>
        /// <returns>CounterCube.</returns>
        ICube IHyperCube.GetCube(CubeKey key)
        {
            if (key == null)
            {
                throw new ArgumentNullException("key");
            }

            HyperCubeRamCounters counters = GetCounters(key.Axis);

            return((counters == null) ? null : counters.GetCube(key));
        }
示例#2
0
        /// <summary>
        /// Récupération des compteurs relatifs à une requête avec instanciation si nécessaire.
        /// </summary>
        /// <param name="axis">Nom de la requête.</param>
        /// <returns>Compteurs relatifs à une requête.</returns>
        private HyperCubeRamCounters ObtainCounters(string axis)
        {
            HyperCubeRamCounters requestCounters;

            lock (_requestCountersMap) {
                requestCounters = GetCounters(axis);
                if (requestCounters == null)
                {
                    requestCounters = new HyperCubeRamCounters(axis, _name);
                    _requestCountersMap.Add(axis, requestCounters);
                }
            }

            return(requestCounters);
        }