Ejemplo n.º 1
0
        void GetCubes()
        {
            m_CubeBrowser.IsEnabled          = false;
            Cubes_ComboBox.SelectionChanged -= new SelectionChangedEventHandler(Cubes_ComboBox_SelectionChanged);
            Cubes_ComboBox.Clear();

            String          NODE_TEXT = Localization.Loading;
            ComboBoxItem    item      = new ComboBoxItem();
            WaitTreeControl ctrl      = new WaitTreeControl();

            ctrl.Text    = NODE_TEXT;
            item.Content = ctrl;
            Cubes_ComboBox.Combo.Items.Add(item);
            Cubes_ComboBox.Combo.SelectedIndex = 0;
            Cubes_ComboBox.SelectionChanged   += new SelectionChangedEventHandler(Cubes_ComboBox_SelectionChanged);

            MetadataQuery args = CommandHelper.CreateGetCubesQueryArgs(Connection);

            if (OlapDataLoader != null)
            {
                OlapDataLoader.DataLoaded -= new EventHandler <DataLoaderEventArgs>(OlapDataLoader_DataLoaded);
                OlapDataLoader.DataLoaded += new EventHandler <DataLoaderEventArgs>(OlapDataLoader_DataLoaded);
                LogManager.LogInformation(this, this.Name + " - Loading cubes.");
                OlapDataLoader.LoadData(args, new UserSchemaWrapper <MetadataQuery, CustomTreeNode>(args, null));
            }
            else
            {
                throw new Exception("OlapDataLoader NotFiniteNumberException initialized.");
            }
        }
Ejemplo n.º 2
0
        String GetHierarchy(MetadataQuery args)
        {
            OlapMetadataProvider provider = new OlapMetadataProvider(new ConnectionInfo(args.Connection, GetConnectionString(args.Connection)));
            HierarchyInfo        info     = provider.GetHierarchy(args.CubeName, args.DimensionUniqueName, args.HierarchyUniqueName);

            return(XmlSerializationUtility.Obj2XmlStr(info, Common.Namespace));
        }
Ejemplo n.º 3
0
        String GetCubeMetadata(MetadataQuery args)
        {
            OlapMetadataProvider provider = new OlapMetadataProvider(new ConnectionInfo(args.Connection, GetConnectionString(args.Connection)));

            CubeDefInfo info = provider.GetCubeMetadata(args.CubeName, args.QueryType);

            return(XmlSerializationUtility.Obj2XmlStr(info, Common.Namespace));
        }
Ejemplo n.º 4
0
        String GetCubes(MetadataQuery args)
        {
            OlapMetadataProvider provider = new OlapMetadataProvider(new ConnectionInfo(args.Connection, GetConnectionString(args.Connection)));

            Dictionary <String, CubeDefInfo> list = provider.GetCubes();

            return(XmlSerializationUtility.Obj2XmlStr(list.Values.ToList(), Common.Namespace));
        }
Ejemplo n.º 5
0
        public static MetadataQuery CreateGetCubesQueryArgs(String connectionString)
        {
            MetadataQuery args = new MetadataQuery();

            args.Connection = connectionString;
            args.QueryType  = MetadataQueryType.GetCubes;
            return(args);
        }
Ejemplo n.º 6
0
        String GetHierarchies(MetadataQuery args)
        {
            OlapMetadataProvider provider = new OlapMetadataProvider(new ConnectionInfo(args.Connection, GetConnectionString(args.Connection)));

            Dictionary <String, HierarchyInfo> list = provider.GetHierarchies(args.CubeName, args.DimensionUniqueName);

            return(XmlSerializationUtility.Obj2XmlStr(list.Values.ToList(), Common.Namespace));
        }
Ejemplo n.º 7
0
        String GetMeasureGroups(MetadataQuery args)
        {
            OlapMetadataProvider provider = new OlapMetadataProvider(new ConnectionInfo(args.Connection, GetConnectionString(args.Connection)));

            List <MeasureGroupInfo> list = provider.GetMeasureGroups(args.CubeName);

            return(XmlSerializationUtility.Obj2XmlStr(list, Common.Namespace));
        }
Ejemplo n.º 8
0
        public static MetadataQuery CreateGetCubeMetadataArgs(String connectionString, String cubeName, MetadataQueryType type)
        {
            MetadataQuery args = new MetadataQuery();

            args.Connection = connectionString;
            args.CubeName   = cubeName;
            args.QueryType  = type;
            return(args);
        }
Ejemplo n.º 9
0
        public static MetadataQuery CreateGetKPIsQueryArgs(String connectionString, String cubeName)
        {
            MetadataQuery args = new MetadataQuery();

            args.Connection = connectionString;
            args.CubeName   = cubeName;
            args.QueryType  = MetadataQueryType.GetKPIs;
            return(args);
        }
Ejemplo n.º 10
0
        public static MetadataQuery CreateGetMeasureQueryArgs(String connectionString, String cubeName, String measureUniqueName)
        {
            MetadataQuery args = new MetadataQuery();

            args.Connection        = connectionString;
            args.CubeName          = cubeName;
            args.QueryType         = MetadataQueryType.GetMeasure;
            args.MeasureUniqueName = measureUniqueName;
            return(args);
        }
Ejemplo n.º 11
0
        public static MetadataQuery CreateGetHierarchiesQueryArgs(String connectionString, String cubeName, String dimensionUniqueName)
        {
            MetadataQuery args = new MetadataQuery();

            args.Connection          = connectionString;
            args.CubeName            = cubeName;
            args.DimensionUniqueName = dimensionUniqueName;
            args.QueryType           = MetadataQueryType.GetHierarchies;
            return(args);
        }
Ejemplo n.º 12
0
        public static MetadataQuery CreateLoadLevelPropertiesArgs(String connectionString, String cubeName, String dimensionUniqueName, String hierarchyUniqueName, String levelUniqueName)
        {
            MetadataQuery args = new MetadataQuery();

            args.Connection          = connectionString;
            args.CubeName            = cubeName;
            args.DimensionUniqueName = dimensionUniqueName;
            args.HierarchyUniqueName = hierarchyUniqueName;
            args.LevelUniqueName     = levelUniqueName;
            args.QueryType           = MetadataQueryType.GetLevelProperties;
            return(args);
        }
Ejemplo n.º 13
0
 public DBUpdateService(ElasticClientFactory clientFactory, IndexQuery indexQuery, IQueryFactory queryFactory,
                        ILoggerFactory loggerFactory, MetadataQuery metadataQuery, ServiceQuery serviceQuery, ProcessQuery processQuery,
                        ServiceManager serviceManager)
 {
     this.serviceManager = serviceManager;
     this.processQuery   = processQuery;
     this.serviceQuery   = serviceQuery;
     this.metadataQuery  = metadataQuery;
     this.queryFactory   = queryFactory;
     this.indexQuery     = indexQuery;
     this.clientFactory  = clientFactory;
     this.logger         = loggerFactory.CreateLogger <DBUpdateService>();
 }
Ejemplo n.º 14
0
        /// <inheritdoc />
        public async Task <MetadataResult> GetMetadataAsync(
            MetadataQuery request,
            CancellationToken cancellationToken)
        {
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            var api_result = await getApiResponseAsync <
                List <Dictionary <string, CryptoCurrencyData> >
                >(request, "cryptocurrency/info", cancellationToken);

            return(await Task.FromResult(MetadataResult.From(api_result)));
        }
        void OlapDataLoader_DataLoaded(object sender, DataLoaderEventArgs e)
        {
            bool stopWaiting = true;

            try
            {
                if (e.Error != null)
                {
                    LogManager.LogError(this, e.Error.ToString());
                    return;
                }

                if (e.Result.ContentType == InvokeContentType.Error)
                {
                    LogManager.LogError(this, e.Result.Content);
                    return;
                }

                MdxQueryArgs mdx_args = e.UserState as MdxQueryArgs;
                if (mdx_args != null)
                {
                    CellSetData cs_descr = CellSetData.Deserialize(e.Result.Content);
                    InitializeTuple(cs_descr);

                    // Зачитываем метаданные куба в целом
                    stopWaiting = false;
                    LogManager.LogInformation(this, this.Name + " - Loading cube metadata.");
                    MetadataQuery args = CommandHelper.CreateGetCubeMetadataArgs(Connection, CubeName, MetadataQueryType.GetCubeMetadata_AllMembers);
                    OlapDataLoader.LoadData(args, args);
                }

                MetadataQuery metadata_args = e.UserState as MetadataQuery;
                if (metadata_args != null)
                {
                    CubeDefInfo cs_descr = XmlSerializationUtility.XmlStr2Obj <CubeDefInfo>(e.Result.Content);
                    m_CopyControl.InitializeMetadata(cs_descr);
                }
            }
            finally
            {
                if (stopWaiting)
                {
                    IsWaiting = false;
                }
            }
        }
        private void RefreshTree()
        {
            Tree.Items.Clear();
            m_GroupNodes.Clear();

            // Добавляем узел Measures
            FolderTreeNode cubesNode = new FolderTreeNode();

            cubesNode.Text = "Cubes";
            Tree.Items.Add(cubesNode);

            cubesNode.IsWaiting  = true;
            cubesNode.IsExpanded = true;

            MetadataQuery args = CommandHelper.CreateGetCubesQueryArgs(Connection);

            Loader.LoadData(args, cubesNode);
        }
        public void Initialize()
        {
            m_CopyControl.CubeName           = CubeName;
            m_CopyControl.ConnectionID       = Connection;
            m_CopyControl.GetOlapDataLoader += new EventHandler <GetIDataLoaderArgs>(m_CopyControl_GetOlapDataLoader);

            IsWaiting = true;
            LogManager.LogInformation(this, this.Name + " - Calculating Tuple form cell.");
            // MDX запрос может служить источником Tuple. Если запрос задан, то пытаемся его выполнить и в качестве Tuple будем использовать координаты первой ячейки.
            if (!String.IsNullOrEmpty(Query))
            {
                MdxQueryArgs args = CommandHelper.CreateMdxQueryArgs(Connection, Query);
                OlapDataLoader.LoadData(args, args);
            }
            else
            {
                // Зачитываем метаданне куба в целом
                MetadataQuery args = CommandHelper.CreateGetCubeMetadataArgs(Connection, CubeName, MetadataQueryType.GetCubeMetadata_AllMembers);
                OlapDataLoader.LoadData(args, args);
            }
        }
Ejemplo n.º 18
0
        public void Err_Get_TimeNotUtc()
        {
            // Testing the detection of non-UTC timestamps

            var queryBadStart = new MetadataQuery("host", "exc")
            {
                TimeWindowStart = DateTime.Now.ToLocalTime() // Local is bad
            };
            var queryBadEnd = new MetadataQuery("host", "exc")
            {
                TimeWindowStart = DateTime.Now.ToLocalTime() // Local is bad
            };

            AssertArgumentException("DateTime kind must be UTC",
                                    () =>
            {
                s_metadataManager.Get(queryBadStart, 100);
            });
            AssertArgumentException("DateTime kind must be UTC",
                                    () =>
            {
                s_metadataManager.Get(queryBadEnd, 100);
            });
        }
Ejemplo n.º 19
0
        String GetLevelProperties(MetadataQuery args)
        {
            OlapMetadataProvider provider = new OlapMetadataProvider(new ConnectionInfo(args.Connection, GetConnectionString(args.Connection)));

            // Делать коллекцию с ключем "Имя свойства" нельзя, т.к. свойства KEY1, KEY2 и т.д. есть не у всех уровней и например в контроле выбора элемента измерения при построении уловия поиска придется проверять для каких уровней они есть, а для каких нету
            List <LevelPropertyInfo> list = new List <LevelPropertyInfo>();

            if (String.IsNullOrEmpty(args.LevelUniqueName))
            {
                Dictionary <String, LevelInfo> levels = provider.GetLevels(args.CubeName, args.DimensionUniqueName, args.HierarchyUniqueName);
                foreach (LevelInfo li in levels.Values)
                {
                    Dictionary <String, LevelPropertyInfo> properties = provider.GetLevelProperties(args.CubeName,
                                                                                                    args.DimensionUniqueName,
                                                                                                    args.HierarchyUniqueName,
                                                                                                    li.UniqueName);
                    foreach (LevelPropertyInfo pi in properties.Values)
                    {
                        list.Add(pi);
                    }
                }
            }
            else
            {
                Dictionary <string, LevelPropertyInfo> properties = provider.GetLevelProperties(args.CubeName,
                                                                                                args.DimensionUniqueName,
                                                                                                args.HierarchyUniqueName,
                                                                                                args.LevelUniqueName);
                foreach (LevelPropertyInfo pi in properties.Values)
                {
                    list.Add(pi);
                }
            }

            return(XmlSerializationUtility.Obj2XmlStr(list, Common.Namespace));
        }
 protected override Expression <Func <IReactiveProxy, Task> > VisitMetadataQuery(MetadataQuery operation)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 21
0
        String GetMetaData(String schema)
        {
            InvokeResultDescriptor result = new InvokeResultDescriptor();
            String res = null;

            try
            {
                MetadataQuery args = XmlSerializationUtility.XmlStr2Obj <MetadataQuery>(schema);

                if (args != null)
                {
                    switch (args.QueryType)
                    {
                    case MetadataQueryType.GetCubes:
                        res = GetCubes(args);
                        break;

                    case MetadataQueryType.GetMeasures:
                        res = GetMeasures(args);
                        break;

                    case MetadataQueryType.GetKPIs:
                        res = GetKPIs(args);
                        break;

                    case MetadataQueryType.GetLevels:
                        res = GetLevels(args);
                        break;

                    case MetadataQueryType.GetDimensions:
                        res = GetDimensions(args);
                        break;

                    case MetadataQueryType.GetHierarchies:
                        res = GetHierarchies(args);
                        break;

                    case MetadataQueryType.GetDimension:
                        res = GetDimension(args);
                        break;

                    case MetadataQueryType.GetHierarchy:
                        res = GetHierarchy(args);
                        break;

                    case MetadataQueryType.GetMeasureGroups:
                        res = GetMeasureGroups(args);
                        break;

                    case MetadataQueryType.GetLevelProperties:
                        res = GetLevelProperties(args);
                        break;

                    case MetadataQueryType.GetCubeMetadata:
                    case MetadataQueryType.GetCubeMetadata_AllMembers:
                        res = GetCubeMetadata(args);
                        break;
                    }
                }
                result.Content = res;
                if (UseCompress)
                {
                    // Архивация строки
                    String compesed = ZipCompressor.CompressAndConvertToBase64String(res);
                    result.Content   = compesed;
                    result.IsArchive = true;
                }
                result.ContentType = InvokeContentType.MultidimData;
            }
            catch (AdomdConnectionException connection_ex)
            {
                result.Content     = connection_ex.Message;
                result.ContentType = InvokeContentType.Error;
            }
            catch (AdomdErrorResponseException response_ex)
            {
                result.Content     = response_ex.Message;
                result.ContentType = InvokeContentType.Error;
            }
            catch (OlapMetadataResponseException metadata_ex)
            {
                result.Content     = metadata_ex.Message;
                result.ContentType = InvokeContentType.Error;
            }
            catch (Exception)
            {
                throw;
            }
            return(InvokeResultDescriptor.Serialize(result));
        }