/// <summary> /// Builds the metadata-repository from the Database. /// </summary> /// <returns>True if the repository is built, false if the operation failed.</returns> public static bool BuildMetadataRepository() { if (!IsOpen()) return false; MetaData = GetMetaData(SqlCreator.FactTableName, SqlCreator.EventTableName); return MetaData != null; }
public void MetaDataRepositoryConstructorTest() { MetaDataRepository target = new MetaDataRepository("name"); Assert.IsNotNull(target.ListOfFactDimensions); Assert.IsNotNull(target.ListOfEventDimensions); Assert.IsNotNull(target.ListOfCaseTableColumnNames); Assert.IsNotNull(target.ListOfEventsTableColumnNames); }
public static void MyClassInitialize(TestContext testContext) { string testDbPath = AppDomain.CurrentDomain.BaseDirectory + @"\Files\test.sqlite.db"; // To enable tests in a virtual machine (change the letter accordingly) if (!Char.IsLetter(testDbPath.First())) testDbPath = "Z:" + testDbPath.Substring(10); ConParams = new ConnectionParameters("SQLite", "SQLite Connection", "", testDbPath); String dbDatabaseWithoutPathName = ConParams.Database.Substring(ConParams.Database.LastIndexOf(("\\"), StringComparison.Ordinal) + 1); Path = AppDomain.CurrentDomain.BaseDirectory + @"\Metadata_" + dbDatabaseWithoutPathName + "@" + ConParams.Host + ".xml"; DBWorker.ConfigureDBConnection(ConParams); DBWorker.OpenConnection(); DBWorker.BuildMetadataRepository(); XMLHelper.SerializeObjectToXML(Path, DBWorker.MetaData); XmlMetadata = XMLHelper.DeserializeObjectFromXML<MetaDataRepository>(Path); }
/// <summary> /// Method to get a table containing all dimensions. /// </summary> /// <param name="factTableName"></param> /// <param name="eventTableName"></param> /// <returns>FactTable containing the dimensions</returns> /// <author>Jannik Arndt, Bernd Nottbeck</author> public virtual MetaDataRepository GetMetaData(string factTableName, string eventTableName) { MetaDataRepository table = new MetaDataRepository(factTableName); table.ListOfCaseTableColumnNames.AddRange(GetColumnNamesOfTable(DBWorker.SqlCreator.CaseTableName)); table.ListOfEventsTableColumnNames.AddRange(GetColumnNamesOfTable(DBWorker.SqlCreator.EventTableName)); //Add dimensions from table fact table.ListOfFactDimensions.Add(new Dimension("--no selection--", isEmptyDimension: true)); table.ListOfFactDimensions.AddRange(GetDimensionsOf(factTableName)); //Add dimensions from table event table.ListOfEventDimensions.AddRange(GetDimensionsOf(eventTableName)); //Add logical all level for each dimension AddAllLevel(table.ListOfFactDimensions); AddAllLevel(table.ListOfEventDimensions); return table; }