/// <summary> /// Index用データベース(SQLite)に、接続と要素(属性・操作)の情報を登録する /// </summary> public void doMakeIndex() { try { ProjectSetting.load(this.outputDir + "\\project.bdprj"); IndexDbWriter dbWriter = new IndexDbWriter(this.outputDir, ProjectSetting.getVO().dbName); dbWriter.writeAllConnector(this.allconnectors); dbWriter.writeAllElements(this.allArtifacts); dbWriter.writeAllBehaviors(this.allArtifacts); } catch (Exception ex) { Console.WriteLine(ex.Message); } }
public void CloseOnLoadComplete(string projectPath, string dbfile) { if (!this.loaded) { Int32 count; for (count = 0; count < 1000; count++) { if (this.loaded) { break; } else { System.Threading.Thread.Sleep(100); } } } // このプログラム(.exe)が置かれたフォルダを取得 //string currentDir = System.Windows.Forms.Application.StartupPath ; //ファイルを開いて終わるまで待機する // Process p = Process.Start( currentDir + "\\ElementIndexer.exe", projectPath + " " + dbfile ); // MessageBox.Show("内部データベースを構築します。\n構築処理が完了後、OKボタンを押してください"); try { ProjectSetting.load(projectPath + "\\project.bdprj"); // 全成果物のリストを読み込み string artifactsDir = projectPath + "\\" + ProjectSetting.getVO().artifactsPath; List <ArtifactVO> artifacts = ArtifactsXmlReader.readArtifactList(artifactsDir, ProjectSetting.getVO().artifactsFile); // 全成果物リストの内容を成果物XMLファイルで埋める ArtifactXmlReader atfReader = new ArtifactXmlReader(artifactsDir); foreach (ArtifactVO atf in artifacts) { // 成果物別のXMLファイルの内容読み込み atfReader.readArtifactDesc(atf); } ArtifactsVO allArtifacts = new ArtifactsVO(); allArtifacts.artifactList = artifacts; ConnectorXmlReader connReader = new ConnectorXmlReader(projectPath); List <ConnectorVO> allConnectors = connReader.readConnectorAll(); IndexDbWriter dbWriter = new IndexDbWriter(projectPath, ProjectSetting.getVO().dbName); // 全接続情報をDBに登録 dbWriter.writeAllConnector(allConnectors); // 全要素情報をDBに登録 dbWriter.writeAllElements(allArtifacts); // 全ふるまい情報をDBに登録 dbWriter.writeAllBehaviors(allArtifacts); } catch (Exception ex) { MessageBox.Show(ex.Message); } // サブプロセスが終了後、必要なくなったところでCLOSE // p.WaitForExit(); this.Close(); }