Definition at line 1886 of file mainRepository.cpp. References Impala::CmdOptions::GetArg(), Impala::CmdOptions::GetInstance(), Impala::CmdOptions::GetNrArg(), ILOG_ERROR, ILOG_INFO, ILOG_VAR, and Impala::StringToQuidClass(). Referenced by mainRepository(). 01887 { 01888 ILOG_VAR(Impala.Application.Repository.DoMergeAnnotationTableSet); 01889 CmdOptions& options = CmdOptions::GetInstance(); 01890 01891 AnnotationTableSet* res = 0; 01892 int a = 1; 01893 while (a < options.GetNrArg()) 01894 { 01895 if (a + 4 > options.GetNrArg()) 01896 { 01897 ILOG_ERROR("Incorrect number of parameters"); 01898 return; 01899 } 01900 String locString = options.GetArg(a++); 01901 String setName = options.GetArg(a++); 01902 int quidClass = StringToQuidClass(options.GetArg(a++)); 01903 String conceptSet = options.GetArg(a++); 01904 AnnotationTableSetLocator loc(locString, setName, quidClass, conceptSet); 01905 01906 if (a == options.GetNrArg()) 01907 { 01908 ILOG_INFO("Saving result in " << loc); 01909 AnnotationTableSetRepository().Add(loc, res); 01910 delete res; 01911 return; 01912 } 01913 01914 AnnotationTableSet* tSet = AnnotationTableSetRepository().Get(loc); 01915 if (tSet == 0) 01916 return; 01917 if (res == 0) 01918 { 01919 res = tSet; 01920 } 01921 else 01922 { 01923 res->Merge(tSet); 01924 delete tSet; 01925 } 01926 01927 ILOG_INFO("Merged " << loc << " : "); 01928 for (int i=0 ; i<res->Size() ; i++) 01929 { 01930 AnnotationTable* tab = res->GetTable(i); 01931 tab->DumpSummary(); 01932 } 01933 } 01934 }
Here is the call graph for this function: ![]()
|