/// <summary>
        /// repositories.xml ファイルを読み、その内容をRepositorySettingVOのリストにセットして返却する
        /// </summary>
        /// <returns>bool: 読み込み成功ならtrue</returns>
        public static List <RepositorySettingVO> load(string repositoryFile)
        {
            //string repositoriesFilename = "repositories.xml";
            //string repositoryFile = basePath + "\\" + repositoriesFilename;

            // XMLテキストをロードする
            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.Load(repositoryFile);

            // 返却用のRepositorySettingVOリストを生成
            List <RepositorySettingVO> repositorySettings = new List <RepositorySettingVO>();

            // projectノードに移動する
            XmlNode repositoriesNode = xmlDoc.SelectSingleNode("/repositories");

            if (repositoriesNode != null)
            {
                foreach (XmlNode repoNode in repositoriesNode.ChildNodes)
                {
                    if (repoNode.Name == "repository")
                    {
                        RepositorySettingVO settingvo = readRepositoryNode(repoNode);
                        settingvo.projectSettingVO = ProjectSetting.readProjectSetting(settingvo.projectPath);
                        settingvo.indexDbPath      = settingvo.projectPath + "\\" + settingvo.projectSettingVO.dbName;
                        repositorySettings.Add(settingvo);
                    }
                }
            }

            return(repositorySettings);
        }
示例#2
0
        static int Main(string[] args)
        {
            string repositoriesFile;
            string targetRepositoryName;

            if (args.Length < 2)
            {
                Console.WriteLine("引数が足りません:");
                Console.WriteLine("使い方: AuditLogTransfer.exe <repositoriesFile(.xml)> <targetRepoName(ex:cuvic_aswea_master)> ");
                return(1);
            }

            repositoriesFile     = args[0];
            targetRepositoryName = args[1];

            try
            {
                // repositories.xml, bdprjファイルの読み込み
                RepositorySettingVO repo =
                    RepositorySetting.readRepositoryAndSelect(repositoriesFile, targetRepositoryName);

                // 転送元DB(MDB, SQLServer, FireBird etc)情報(接続文字列)はrepositories.xmlから取得
                string fromConnStr = repo.connectionString;
                // 転送先DB情報はリポジトリ設定から取得
                //string toIndexDbFile = repo.projectSettingVO.projectPath + "\\" + repo.projectSettingVO.dbName;
                string toIndexDbFile = repo.changeLogDbPath;

                // t_snapshotの監査ログ情報をchangelogデータに変換する
                AuditLogTransferer   trans      = new AuditLogTransferer(fromConnStr, toIndexDbFile);
                List <ChangeLogItem> changeLogs = trans.transAuditLogToChangeLog(repo.projectSettingVO.projectPath);

                // history用のchangeLogDbにChangeLogデータを記録する
                trans.writeChangeLogDb(changeLogs);

                // 転送が成功したら t_snapshot テーブルから削除する
                trans.deleteSnapshotTable(changeLogs);

                return(0);
            }
            catch (Exception ex)
            {
                Console.WriteLine("----------------------------------------------");
                Console.WriteLine(ex.Message);
                return(2);
            }
        }
示例#3
0
        static void Main(string[] args)
        {
            string repositoryFile = ConfigurationManager.AppSettings["repositoryFile"];
            bool   elementMode    = false;

            // 引数チェック(最低リポジトリ名の1つが必要)
            if (args.Length < 1)
            {
                Console.WriteLine("引数が足りません: ");
                Console.WriteLine("Usage: AsciidocGenerator <targetRepository> [-element <elementGuid>] ");
                return;
            }


            string repoName    = null;
            string elementGuid = null;

            // 引数が3件以上存在したら、指定elementのみのAsciidoc出力モードで起動
            if (args.Length >= 3 && args[1] == "-element")
            {
                elementMode = true;
                repoName    = args[0];
                elementGuid = args[2];
            }
            else
            {
                elementMode = false;
                repoName    = args[0];
            }

            // repositories.xmlの読み込みとリポジトリ選択処理
            RepositorySettingVO repositoryVO
                = RepositorySetting.readRepositoryAndSelect(repositoryFile, repoName);

            if (repositoryVO == null)
            {
                Console.WriteLine("指定されたリポジトリ名(targetRepository)が不正です: " + repoName);
                Console.WriteLine("  Usage: AsciidocGenerator targetRepository [-element <elementGuid>] ");
                Console.WriteLine("提供リポジトリ定義ファイル: " + repositoryFile + " の中身を確認ください");
                return;
            }

            // 成果物リストの読み込みとAsciidoc出力
            readArtifactsAndWriteAsciidocs(repositoryVO.projectPath, elementMode, elementGuid);
        }
        /// <summary>
        /// repositoryノードを読み込み、voを返却する
        /// </summary>
        /// <param name="repoNode"></param>
        /// <returns></returns>
        private static RepositorySettingVO readRepositoryNode(XmlNode repoNode)
        {
            RepositorySettingVO settingvo = new RepositorySettingVO();

            foreach (XmlNode riNode in repoNode.ChildNodes)
            {
                switch (riNode.Name)
                {
                case "repositoryName":
                    settingvo.name = riNode.InnerText;
                    break;

                case "baseRepository":
                    settingvo.baseRepository = riNode.InnerText;
                    break;

                case "localPath":
                    settingvo.localPath = riNode.InnerText;
                    break;

                case "projectPath":
                    settingvo.projectPath = riNode.InnerText;
                    break;

                case "connectionString":
                    settingvo.connectionString = riNode.InnerText;
                    break;

                default:
                    // do nothing
                    break;
                }
            }

            return(settingvo);
        }