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

void Impala::Core::Trec::Collection::ReadData ( String  fileName,
Util::Database db 
) [inline, private]

Definition at line 180 of file Collection.h.

References Impala::atol(), Impala::FileNamePath(), Impala::Persistency::XmlFileReader::FindElementsByName(), Impala::Util::Database::GetIOBuffer(), Impala::Persistency::FileLocator::GetName(), Impala::Persistency::File::GetReadBuffer(), ILOG_DEBUG, mDb, mFileName, mId, mSource, mSrcDir, mUse, Impala::Persistency::XmlFileReader::Read(), and Impala::Util::XmlDoc::XMLCh2String().

Referenced by Collection().

00181     {
00182         mDb = db;
00183         mSrcDir = FileNamePath(fileName);
00184         Util::IOBuffer* ioBuf = db->GetIOBuffer(fileName, true, true, "");
00185         Persistency::XmlFileReader reader;
00186         DOMDocument* doc = reader.Read(fileName, ioBuf);
00187 #else // REPOSITORY_USED
00188     ReadData(const Persistency::FileLocator& loc)
00189     {
00190         mSrcDir = FileNamePath(loc.GetName());
00191         typedef Persistency::RepositoryInFileSystem FS;
00192         Persistency::File file = FS::GetInstance().GetFile(loc, false, false);
00193         Util::IOBuffer* ioBuf = file.GetReadBuffer(true, "");
00194         Persistency::XmlFileReader reader;
00195         DOMDocument* doc = reader.Read(loc.GetName(), ioBuf);
00196 #endif // REPOSITORY_USED
00197         delete ioBuf;
00198         DOMNodeList* vList = reader.FindElementsByName(doc, "VideoFile");
00199         for (XMLSize_t i=0 ; i<vList->getLength() ; i++)
00200         {
00201             DOMNode* video = vList->item(i);
00202             DOMNodeList* children = video->getChildNodes();
00203             for (XMLSize_t j=0 ; j<children->getLength() ; j++)
00204             {
00205                 DOMNode* child = children->item(j);
00206                 DOMNode* grandChild = child->getFirstChild();
00207                 if (!grandChild)
00208                     continue;
00209                 String name = XMLCh2String(child->getNodeName());
00210                 String val = XMLCh2String(grandChild->getNodeValue());
00211                 ILOG_DEBUG("read " << name << " = " << val);
00212                 if (name == "id")
00213                     mId.push_back(atol(val));
00214                 else if (name == "filename")
00215                     mFileName.push_back(val);
00216                 else if (name == "use")
00217                     mUse.push_back(val);
00218                 else if (name == "source")
00219                     mSource.push_back(val);
00220             }
00221         }
00222     }

Here is the call graph for this function:


Generated on Fri Mar 19 11:25:27 2010 for ImpalaSrc by  doxygen 1.5.1