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

AnnotationTableSet* Impala::Persistency::AnnotationTableSetRepository::Get ( const AnnotationTableSetLocator loc  )  [inline]

Definition at line 52 of file AnnotationTableSetRepository.h.

References Impala::Core::Table::AnnotationTableSet::Add(), Exists(), Impala::Persistency::AnnotationTableSetLocator::GetConceptSet(), Impala::Persistency::AnnotationTableSetLocator::GetQuidClass(), ILOG_ERROR, and ILOG_WARN.

00053     {
00054         KeywordListLocator keyListLoc(loc, loc.GetConceptSet());
00055         KeywordList keyList = *(KeywordListRepository().Get(keyListLoc));
00056         if (keyList.size() == 0)
00057         {
00058             ILOG_ERROR("Could find keywords");
00059             return 0;
00060         }
00061 
00062         AnnotationTableSet* res = new AnnotationTableSet();
00063         int nrFound = 0;
00064         AnnotationTableLocator tabLoc(loc, loc.GetQuidClass(),
00065                                       loc.GetConceptSet(), "dummy");
00066         for (int i=0 ; i<keyList.size() ; i++)
00067         {
00068             tabLoc.SetKeyword(keyList[i]);
00069             AnnotationTable* table = 0;
00070             if (AnnotationTableRepository().Exists(tabLoc))
00071                 table = AnnotationTableRepository().Get(tabLoc);
00072             else
00073                 ILOG_WARN("Table for " << keyList[i] << " doesn't exist");
00074             if (table)
00075                 nrFound++;
00076             else
00077                 table = new AnnotationTable(keyList[i], 0);
00078             res->Add(table);
00079         }
00080         if (nrFound == 0)
00081             ILOG_ERROR("No tables found");
00082         return res;
00083     }

Here is the call graph for this function:


Generated on Thu Jan 13 09:22:32 2011 for ImpalaSrc by  doxygen 1.5.1