LuceneObjectPtr SegmentInfoCollection::clone(LuceneObjectPtr other)
{
    LuceneObjectPtr clone = LuceneObject::clone(other ? other : newLucene<SegmentInfoCollection>());
    SegmentInfoCollectionPtr cloneInfos(boost::dynamic_pointer_cast<SegmentInfoCollection>(clone));
    for (Collection<SegmentInfoPtr>::iterator info = segmentInfos.begin(); info != segmentInfos.end(); ++info)
        cloneInfos->segmentInfos.add(*info);
    return cloneInfos;
}
Exemplo n.º 2
0
 LuceneObjectPtr SegmentInfos::clone(LuceneObjectPtr other)
 {
     LuceneObjectPtr clone = SegmentInfoCollection::clone(other ? other : newLucene<SegmentInfos>());
     SegmentInfosPtr cloneInfos(boost::dynamic_pointer_cast<SegmentInfos>(clone));
     cloneInfos->counter = counter;
     cloneInfos->generation = generation;
     cloneInfos->lastGeneration = lastGeneration;
     cloneInfos->version = version;
     cloneInfos->pendingSegnOutput = pendingSegnOutput;
     for (int32_t i = 0; i < cloneInfos->size(); ++i)
         cloneInfos->segmentInfos[i] = boost::dynamic_pointer_cast<SegmentInfo>(cloneInfos->info(i)->clone());
     cloneInfos->userData = MapStringString::newInstance();
     cloneInfos->userData.putAll(userData.begin(), userData.end());
     return cloneInfos;
 }