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

void Impala::Visualization::SimilarityTableSetRank::UpdateAnno (  )  [inline, private]

Definition at line 736 of file SimilarityTableSetRank.h.

References Impala::Core::Table::Copy(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::Get1(), Impala::Core::Database::DataDocument::GetConcept(), Impala::Core::Database::DataDocument::GetDataSet(), Impala::Core::Database::RawDataSet::GetLocator(), Impala::Core::Table::AnnotationTable::GetQualification(), Impala::Core::Table::SimilarityTableSet::GetQuidClass(), Impala::Core::Table::SimilarityTableSet::GetRankTable(), ILOG_ERROR, ILOG_INFO, mAnno, mAnnoConcept, mAnnoSet, mCorrections, mCorrectionSet, mCurConcept, mDataDoc, mQualifiedRanking, mSimSet, SaveCorrections(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::Set2(), and Impala::Core::Table::Table::Size().

Referenced by HandleUpdate().

00737     {
00738         if (mAnnoSet.empty())
00739         {
00740             Core::Table::Copy(mQualifiedRanking,
00741                               mSimSet->GetRankTable(mCurConcept));
00742             return;
00743         }
00744         if (mAnnoConcept == mCurConcept)
00745             return;
00746 
00747         if (mAnno)
00748         {
00749             delete mAnno;
00750             mAnno = 0;
00751         }
00752         if (mCorrections)
00753         {
00754             SaveCorrections();
00755             delete mCorrections;
00756             mCorrections = 0;
00757         }
00758 
00759         Core::Database::RawDataSet* dataSet = mDataDoc->GetDataSet();
00760         int qClass = mSimSet->GetQuidClass();
00761         typedef Persistency::AnnotationTableLocator Loc;
00762         String concept = mDataDoc->GetConcept();
00763         Loc aLoc(dataSet->GetLocator(), qClass, mAnnoSet, concept);
00764         if (! Persistency::AnnotationTableRepository().Exists(aLoc))
00765         {
00766             ILOG_ERROR("No annations for " << concept);
00767             mAnnoConcept = -2;
00768             Core::Table::Copy(mQualifiedRanking,
00769                               mSimSet->GetRankTable(mCurConcept));
00770             return;
00771         }
00772         mAnno = Persistency::AnnotationTableRepository().Get(aLoc);
00773 
00774         if (!mCorrectionSet.empty())
00775         {
00776             aLoc.SetConceptSet(mCorrectionSet);
00777             if (Persistency::AnnotationTableRepository().Exists(aLoc))
00778             {
00779                 ILOG_INFO("Loading corrections for " << concept);
00780                 mCorrections = Persistency::AnnotationTableRepository().Get(aLoc);
00781             }
00782             else
00783             {
00784                 ILOG_INFO("No existing corrections for " << concept);
00785                 mCorrections = new AnnotationTable(concept, 0);
00786             }
00787         }
00788 
00789         mAnnoConcept = mCurConcept;
00790         Core::Table::Copy(mQualifiedRanking, mSimSet->GetRankTable(mCurConcept));
00791         for (int i=0 ; i<mQualifiedRanking->Size() ; i++)
00792         {
00793             Quid quid = mQualifiedRanking->Get1(i);
00794             mQualifiedRanking->Set2(i, mAnno->GetQualification(quid));
00795             if (mCorrections)
00796             {
00797                 int index = mCorrections->GetIndex(quid);
00798                 if (index != mCorrections->Size())
00799                     mQualifiedRanking->Set2(i, mCorrections->Get2(index));
00800             }
00801         }
00802     }

Here is the call graph for this function:


Generated on Thu Jan 13 09:25:14 2011 for ImpalaSrc by  doxygen 1.5.1