Пример #1
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);
            }
        }
Пример #2
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);
        }