Definition at line 2324 of file mainRepository.cpp. References Impala::CmdOptions::GetArg(), Impala::Persistency::SimilarityTableSetLocator::GetContainer(), Impala::CmdOptions::GetInstance(), Impala::CmdOptions::GetNrArg(), GetRawDataSet(), GetSimilarityTableSetLocator(), ILOG_INFO, ILOG_VAR, Impala::Persistency::SimilarityTableSetLocator::SetConceptSet(), and Impala::Persistency::SimilarityTableSetLocator::SetContainer(). Referenced by mainRepository(). 02325 { 02326 ILOG_VAR(Impala.Application.Repository.DoMergeSimilarityTableSet); 02327 CmdOptions& options = CmdOptions::GetInstance(); 02328 02329 SimilarityTableSetLocator dstLoc = 02330 GetSimilarityTableSetLocator(options, true); 02331 RawDataSet* dataSet = GetRawDataSet(options, true); 02332 std::vector<String> srcSets; 02333 for (int a=9 ; a<options.GetNrArg() ; a++) 02334 { 02335 srcSets.push_back(options.GetArg(a)); 02336 } 02337 02338 String container = dstLoc.GetContainer(); 02339 int nrContainers = (container == "ALL") ? dataSet->GetNrContainers() : 1; 02340 for (int i=0 ; i<nrContainers ; i++) 02341 { 02342 SimilarityTableSet* dstSet = 0; 02343 SimilarityTableSetLocator srcLoc = dstLoc; 02344 String cur = (container == "ALL") ? dataSet->GetContainer(i) : container; 02345 srcLoc.SetContainer(cur); 02346 for (int c=0 ; c<srcSets.size() ; c++) 02347 { 02348 srcLoc.SetConceptSet(srcSets[c]); 02349 ILOG_INFO("Merging " << i << " = " << cur << " for " << srcSets[c]); 02350 SimilarityTableSet* s = SimilarityTableSetRepository().Get(srcLoc); 02351 02352 //s->DumpRanking(0, options.GetInt("start"), options.GetInt("end")); 02353 if (dstSet == 0) 02354 { 02355 dstSet = s; 02356 } 02357 else 02358 { 02359 dstSet->Merge(s); 02360 delete s; 02361 } 02362 } 02363 dstLoc.SetContainer(cur); 02364 SimilarityTableSetRepository().Add(dstLoc, dstSet); 02365 delete dstSet; 02366 } 02367 }
Here is the call graph for this function: ![]()
|