public static Dictionary<string, XPathNavigator> GetDimensionsFromPackage(VulcanConfig vulcanConfig, XPathNavigator patternNavigator) { Dictionary<string, XPathNavigator> dimDict = new Dictionary<string, XPathNavigator>(); foreach (XPathNavigator nav in patternNavigator.Select("rc:Dimension", vulcanConfig.NamespaceManager)) { string dimensionName = nav.SelectSingleNode("@Name", vulcanConfig.NamespaceManager).Value; dimDict.Add(dimensionName, nav); Message.Trace(Severity.Debug, "Found Dimension " + dimensionName); } return dimDict; }
public TableHelper(string name, VulcanConfig vulcanConfig, XPathNavigator tableNavigator) { this._name = name; this._vulcanConfig = vulcanConfig; this._tableNavigator = tableNavigator; this._columnLookup = new Dictionary <string, Column>(); this._constraintList = new List <Constraint>(); _ParseColumns(); _ParseKeyColumn(); _PopulateConstraints(); _PopulateDimensions(); }
public VulcanPackage(string packageName, string packageType, VulcanConfig vulcanConfig, TemplateManager templateManager, XPathNavigator packageNavigator) { this._packageName = packageName; this._projectSubpath = GetSubpathFromPackageType(packageType); this._vulcanConfig = vulcanConfig; this._templateManager = templateManager; this._projectManager = new ProjectManager(packageName); _DTSApplication = new DTS.Application(); _package = new DTS.Package(); this._package.Name = this._packageName; this._packageNavigator = packageNavigator; this.UnSave(); }
public MessageEngine Compile(string vulcanFile) { if (File.Exists(vulcanFile)) { Message.PushMessageEngine(vulcanFile); VulcanConfig vulcanConfig = _templateManager.XmlTemplateReplacement(new VulcanConfig(vulcanFile)); foreach (XPathNavigator nav in vulcanConfig.Navigator.Select("//rc:VulcanConfig/rc:Package", vulcanConfig.NamespaceManager)) { string name = nav.SelectSingleNode("@Name").Value; string packageType = nav.SelectSingleNode("@PackageType").Value; VulcanPackage vulcanPackage = vulcanPackage = new VulcanPackage(name, packageType, vulcanConfig, _templateManager, nav); try { vulcanPackage.ProcessPackage(); } catch (Exception) { if (vulcanPackage != null) { if (Settings.Default.CleanupFilesOnError) { vulcanPackage.UnSave(); } else { vulcanPackage.Save(); vulcanPackage.Validate(); } } } } } else { Message.Trace(Severity.Error, new FileNotFoundException("Vulcan File Not Found", vulcanFile), "VulcanFile {0} not found", vulcanFile); } return(Message.PopMessageEngine()); } // end compile
public DimensionHelper(string dimensionPath, TemplateManager templateManager) { Message.Trace(Severity.Debug,"Dimension Helper: Parsing Directory {0}",dimensionPath); foreach (string file in Directory.GetFiles(dimensionPath)) { Message.Trace(Severity.Debug,"Parsing Dimensions in: {0}", file); VulcanConfig vulcanConfig = new VulcanConfig(file); foreach (XPathNavigator nav in vulcanConfig.Navigator.Select("//rc:Package", vulcanConfig.NamespaceManager)) { Message.Trace(Severity.Debug,"Found Dimensions Package {0}", nav.SelectSingleNode("@Name").Value); XPathNavigator patternNavigator = nav.SelectSingleNode("rc:Patterns", vulcanConfig.NamespaceManager); foreach(XPathNavigator dimNav in patternNavigator.Select("rc:Dimensions",vulcanConfig.NamespaceManager)) { Dictionary<string,XPathNavigator> dimList = DimensionsPattern.GetDimensionsFromPackage(vulcanConfig, dimNav); foreach (string s in dimList.Keys) { _dimDictionary.Add(s, vulcanConfig); _dimNavDictionary.Add(s, dimList[s]); } } } } }
public TableHelper(string name, VulcanConfig vulcanConfig, XPathNavigator tableNavigator) { this._name = name; this._vulcanConfig = vulcanConfig; this._tableNavigator = tableNavigator; this._columnLookup = new Dictionary<string,Column>(); this._constraintList = new List<Constraint>(); _ParseColumns(); _ParseKeyColumn(); _PopulateConstraints(); _PopulateDimensions(); }