Home || Visual Search || Applications || Architecture || Important Messages || OGL || Src

void Impala::Application::Repository::DoMergeAnnotationTable (  ) 

Definition at line 1719 of file mainRepository.cpp.

References GetAnnotationTableLocator(), Impala::CmdOptions::GetArg(), Impala::CmdOptions::GetInstance(), Impala::Persistency::AnnotationTableLocator::GetKeyword(), Impala::CmdOptions::GetNrArg(), ILOG_INFO, ILOG_VAR, and Impala::Persistency::AnnotationTableLocator::SetKeyword().

Referenced by mainRepository().

01720 {
01721     ILOG_VAR(Impala.Application.Repository.DoMergeAnnotationTable);
01722     CmdOptions& options = CmdOptions::GetInstance();
01723 
01724     AnnotationTableLocator loc = GetAnnotationTableLocator(options, true);
01725     String outputKeyword = loc.GetKeyword();
01726     AnnotationTable* res = 0;
01727     int a = 6;
01728     while (a < options.GetNrArg())
01729     {
01730         String inputKeyword = options.GetArg(a++);
01731         ILOG_INFO("Merging " << inputKeyword);
01732         loc.SetKeyword(inputKeyword);
01733         AnnotationTable* tab = AnnotationTableRepository().Get(loc);
01734         if (tab == 0)
01735             return;
01736         if (res == 0)
01737         {
01738             res = tab;
01739             res->SetLabel(outputKeyword);
01740         }
01741         else
01742         {
01743             res->Merge(tab);
01744             delete tab;
01745         }
01746 
01747         ILOG_INFO("Merged " << loc << " : ");
01748         res->DumpSummary();
01749     }
01750     loc.SetKeyword(outputKeyword);
01751     AnnotationTableRepository().Add(loc, res);
01752     delete res;
01753 }

Here is the call graph for this function:


Generated on Thu Jan 13 09:15:48 2011 for ImpalaSrc by  doxygen 1.5.1