Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
        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();
        }
Ejemplo n.º 3
0
        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();
        }
Ejemplo n.º 4
0
        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
Ejemplo n.º 5
0
        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]);
                        }
                    }
                }
            }
        }
Ejemplo n.º 6
0
        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();
        }