TEST_F(KVCatalogTest, Coll1) { unique_ptr<KVHarnessHelper> helper(KVHarnessHelper::create()); KVEngine* engine = helper->getEngine(); unique_ptr<RecordStore> rs; unique_ptr<KVCatalog> catalog; { MyOperationContext opCtx(engine); WriteUnitOfWork uow(&opCtx); ASSERT_OK(engine->createRecordStore(&opCtx, "catalog", "catalog", CollectionOptions())); rs = engine->getRecordStore(&opCtx, "catalog", "catalog", CollectionOptions()); catalog.reset(new KVCatalog(rs.get(), false, false, nullptr)); uow.commit(); } { MyOperationContext opCtx(engine); WriteUnitOfWork uow(&opCtx); ASSERT_OK(newCollection(&opCtx, NamespaceString("a.b"), CollectionOptions(), KVPrefix::kNotPrefixed, catalog.get())); ASSERT_NOT_EQUALS("a.b", catalog->getCollectionIdent("a.b")); uow.commit(); } string ident = catalog->getCollectionIdent("a.b"); { MyOperationContext opCtx(engine); WriteUnitOfWork uow(&opCtx); catalog.reset(new KVCatalog(rs.get(), false, false, nullptr)); catalog->init(&opCtx); uow.commit(); } ASSERT_EQUALS(ident, catalog->getCollectionIdent("a.b")); { MyOperationContext opCtx(engine); WriteUnitOfWork uow(&opCtx); dropCollection(&opCtx, "a.b", catalog.get()).transitional_ignore(); newCollection(&opCtx, NamespaceString("a.b"), CollectionOptions(), KVPrefix::kNotPrefixed, catalog.get()) .transitional_ignore(); uow.commit(); } ASSERT_NOT_EQUALS(ident, catalog->getCollectionIdent("a.b")); }
QgsGeometryCollection *QgsGeometryCollection::toCurveType() const { std::unique_ptr< QgsGeometryCollection > newCollection( new QgsGeometryCollection() ); for ( QgsAbstractGeometry *geom : mGeometries ) { newCollection->addGeometry( geom->toCurveType() ); } return newCollection.release(); }
EntityCollection<EntityType>& IScene::GetEntities() { static const std::type_index type = typeid(std::decay_t<EntityType>); EntityCollectionBase* entities = GetEntities(type); if (!entities) { std::unique_ptr<EntityCollectionBase> newCollection(std::make_unique<EntityCollection<EntityType>>()); NewCollection(std::move(newCollection), type); entities = GetEntities(type); assert(entities != nullptr); } return static_cast<EntityCollection<EntityType>&>(*entities); }
TEST_F(KVCatalogTest, DirectoryPerAndSplit1) { unique_ptr<KVHarnessHelper> helper(KVHarnessHelper::create()); KVEngine* engine = helper->getEngine(); unique_ptr<RecordStore> rs; unique_ptr<KVCatalog> catalog; { MyOperationContext opCtx(engine); WriteUnitOfWork uow(&opCtx); ASSERT_OK(engine->createRecordStore(&opCtx, "catalog", "catalog", CollectionOptions())); rs = engine->getRecordStore(&opCtx, "catalog", "catalog", CollectionOptions()); catalog.reset(new KVCatalog(rs.get(), true, true, nullptr)); uow.commit(); } { MyOperationContext opCtx(engine); WriteUnitOfWork uow(&opCtx); ASSERT_OK(newCollection(&opCtx, NamespaceString("a.b"), CollectionOptions(), KVPrefix::kNotPrefixed, catalog.get())); ASSERT_STRING_CONTAINS(catalog->getCollectionIdent("a.b"), "a/collection/"); ASSERT_TRUE(catalog->isUserDataIdent(catalog->getCollectionIdent("a.b"))); uow.commit(); } { // index MyOperationContext opCtx(engine); WriteUnitOfWork uow(&opCtx); BSONCollectionCatalogEntry::MetaData md; md.ns = "a.b"; BSONCollectionCatalogEntry::IndexMetaData imd; imd.spec = BSON("name" << "foo"); imd.ready = false; imd.head = RecordId(); imd.multikey = false; imd.prefix = KVPrefix::kNotPrefixed; imd.isBackgroundSecondaryBuild = false; md.indexes.push_back(imd); catalog->putMetaData(&opCtx, "a.b", md); ASSERT_STRING_CONTAINS(catalog->getIndexIdent(&opCtx, "a.b", "foo"), "a/index/"); ASSERT_TRUE(catalog->isUserDataIdent(catalog->getIndexIdent(&opCtx, "a.b", "foo"))); uow.commit(); } }
void NepomukCollectionFactory::init() { if ( Nepomuk::ResourceManager::instance()->init() == 0 ) { Soprano::Model* model = Nepomuk::ResourceManager::instance()->mainModel(); // find out if Nepomuk is fast enough // (if sesame2 is used or not, it makes no sense to use it with redland // doesn't work and is terrible slow, slows down amarok start when // songs in playlist) // FIXME; Find a better wy to do this QTime t; t.start(); Nepomuk::Resource::Resource( "file://home/" ).exists(); int elapsed = t.elapsed(); debug() << "Nepomuk Resource.exists() took " << elapsed << " ms" << endl; Collection* collection; if ( elapsed < 50 ) { collection = new NepomukCollection( model, true ); debug() << "fast enough full nepomuk collection enabled" << endl; } else { collection = new NepomukCollection( model, false ); debug() << "too slow, trackForUrl() disabled" << endl; } if ( !static_cast<NepomukCollection*>(collection)->isEmpty() ) emit newCollection( collection ); else delete collection; } else { warning() << "Nepomuk is not running, can not init Nepomuk Collection" << endl; } }
void SqlCollectionFactory::init() { Amarok::Collection* collection; /* switch( CollectionDB::instance()->getDbConnectionType() ) { case DbConnection::sqlite : collection = new SqliteCollection( "localCollection", i18n( "Local Collection" ) ); break; case DbConnection::mysql : collection = new MySqlCollection( "localCollection", i18n( "Local Collection" ) ); break; default : collection = new SqlCollection( "localCollection", i18n( "Local Collection" ) ); break; } */ collection = new MySqlEmbeddedCollection( "localCollection", i18n( "Local Collection" ) ); emit newCollection( collection ); }
const LandmarkCollectionDataPtr ImageTransformer::TransformCollectionUsingFaceCrop(const LandmarkCollectionDataPtr& collectionData) { LandmarkCollectionDataPtr newCollection(new LandmarkCollectionData(collectionData->CollectionSize())); CascadeClassifier classifier; collectionData->EnumerateConstColectionWithCallback([&] (const ImageLandmarkDataPtr& landmarkData, const int index, bool* stop) { const cv::Rect activeRect = classifier.DetectFace(landmarkData->ImageSource()); if (activeRect.size().width != 0) { const ImageLandmarkDataPtr newData = TransformData(landmarkData, activeRect, {kImageSize, kImageSize}, true); newCollection->AddImageLandmarkData(newData); } else { std::cout<<"Face not found: "<<landmarkData->ImagePath()<<std::endl; } std::cout<<index<<std::endl; }); return newCollection; }
TEST_F(KVCatalogTest, RestartForPrefixes) { storageGlobalParams.groupCollections = true; ON_BLOCK_EXIT([&] { storageGlobalParams.groupCollections = false; }); KVPrefix abCollPrefix = KVPrefix::getNextPrefix(NamespaceString("a.b")); KVPrefix fooIndexPrefix = KVPrefix::getNextPrefix(NamespaceString("a.b")); unique_ptr<KVHarnessHelper> helper(KVHarnessHelper::create()); KVEngine* engine = helper->getEngine(); { unique_ptr<RecordStore> rs; unique_ptr<KVCatalog> catalog; { MyOperationContext opCtx(engine); WriteUnitOfWork uow(&opCtx); ASSERT_OK(engine->createRecordStore(&opCtx, "catalog", "catalog", CollectionOptions())); rs = engine->getRecordStore(&opCtx, "catalog", "catalog", CollectionOptions()); catalog.reset(new KVCatalog(rs.get(), false, false, nullptr)); uow.commit(); } { MyOperationContext opCtx(engine); WriteUnitOfWork uow(&opCtx); ASSERT_OK(newCollection( &opCtx, NamespaceString("a.b"), CollectionOptions(), abCollPrefix, catalog.get())); ASSERT_NOT_EQUALS("a.b", catalog->getCollectionIdent("a.b")); ASSERT_TRUE(catalog->isUserDataIdent(catalog->getCollectionIdent("a.b"))); uow.commit(); } { MyOperationContext opCtx(engine); WriteUnitOfWork uow(&opCtx); BSONCollectionCatalogEntry::MetaData md; md.ns = "a.b"; BSONCollectionCatalogEntry::IndexMetaData imd; imd.spec = BSON("name" << "foo"); imd.ready = false; imd.head = RecordId(); imd.multikey = false; imd.prefix = fooIndexPrefix; imd.isBackgroundSecondaryBuild = false; md.indexes.push_back(imd); md.prefix = abCollPrefix; catalog->putMetaData(&opCtx, "a.b", md); uow.commit(); } } engine = helper->restartEngine(); { MyOperationContext opCtx(engine); WriteUnitOfWork uow(&opCtx); unique_ptr<RecordStore> rs = engine->getRecordStore(&opCtx, "catalog", "catalog", CollectionOptions()); unique_ptr<KVCatalog> catalog = stdx::make_unique<KVCatalog>(rs.get(), false, false, nullptr); catalog->init(&opCtx); const BSONCollectionCatalogEntry::MetaData md = catalog->getMetaData(&opCtx, "a.b"); ASSERT_EQ("a.b", md.ns); ASSERT_EQ(abCollPrefix, md.prefix); ASSERT_EQ(fooIndexPrefix, md.indexes[md.findIndexOffset("foo")].prefix); } }
CollectionDialog::CollectionDialog(SLManager *slm,int selC,QWidget *parent,const char *name) : QDialog(parent,name,TRUE) { setCaption(i18n("Collections Manager")); ok=new KPushButton(KStdGuiItem::ok(),this); ok->setGeometry(140,200,100,30); connect(ok,SIGNAL(clicked()),SLOT(accept()) ); cancel=new KPushButton(KStdGuiItem::cancel(),this); cancel->setGeometry(250,200,100,30); connect(cancel,SIGNAL(clicked()),SLOT(reject()) ); label=new QLabel(i18n("Available collections:"),this); label->adjustSize(); label->move(10,10); collections=new QListBox(this,"collectionlist"); collections->setGeometry(10,20+label->height(),340,90); connect(collections,SIGNAL(highlighted(int)),SLOT(collectionselected(int))); connect(collections,SIGNAL(selected(int)),SLOT(changeCollectionName(int))); slman=slm; for (int i=0;i<=slman->numberOfCollections();i++) { collections->insertItem(i18n( slman->getCollectionName(i) ),i); #ifdef COLLECTDLGDEBUG printf("Name : %s\n",slman->getCollectionName(i)); #endif }; selectedC=selC; #ifdef COLLECTDLGDEBUG printf("selectedC : %d\n",selectedC); #endif label2=new QLabel(i18n("Songs in selected collection:"),this); label2->adjustSize(); label2->move(10,collections->y()+collections->height()+10); songs=new QListBox(this,"songlist"); songs->setGeometry(10,label2->y()+label2->height()+10,340,120); connect(songs,SIGNAL(highlighted(int)),SLOT(songselected(int))); currentsl=slman->getCollection(selectedC); if (slman->numberOfCollections()>0) { collections->setCurrentItem(selectedC); collections->centerCurrentItem(); }; //fillInSongList(); newC=new QPushButton(i18n("&New..."),this); newC->adjustSize(); newC->move(360,collections->y()+5); connect(newC,SIGNAL(clicked()),SLOT(newCollection()) ); copyC=new QPushButton(i18n("&Copy..."),this); copyC->adjustSize(); copyC->move(360,newC->y()+newC->height()+5); connect(copyC,SIGNAL(clicked()),SLOT(copyCollection()) ); deleteC=new QPushButton(i18n("Delete"),this); deleteC->adjustSize(); deleteC->move(360,copyC->y()+copyC->height()+5); connect(deleteC,SIGNAL(clicked()),SLOT(deleteCollection()) ); addS=new QPushButton(i18n("&Add..."),this); addS->adjustSize(); addS->move(360,songs->y()+5); connect(addS,SIGNAL(clicked()),SLOT(addSong()) ); delS=new QPushButton(i18n("&Remove"),this); delS->adjustSize(); delS->move(360,addS->y()+addS->height()+5); connect(delS,SIGNAL(clicked()),SLOT(removeSong()) ); ok->move(ok->x(),songs->y()+songs->height()+10); cancel->move(ok->x()+ok->width()+5,ok->y()); setMinimumSize(400,ok->y()+ok->height()+5); //setMaximumSize(360,240); }
struct TypedValue* newSeq(size_t size) { return newCollection(size, VDM_SEQ); }