diff options
author | Matthew Newhook <matthew@zeroc.com> | 2006-06-28 15:50:28 +0000 |
---|---|---|
committer | Matthew Newhook <matthew@zeroc.com> | 2006-06-28 15:50:28 +0000 |
commit | 2c17b9664a0894e9061a7e4b942e560d9325580d (patch) | |
tree | aa5ea77377ada4b070255d56f92a2c2d5323786a /cpp/src/FreezeScript/transformdb.cpp | |
parent | fix for removal of removeObjectFactory in bug 472 (diff) | |
download | ice-2c17b9664a0894e9061a7e4b942e560d9325580d.tar.bz2 ice-2c17b9664a0894e9061a7e4b942e560d9325580d.tar.xz ice-2c17b9664a0894e9061a7e4b942e560d9325580d.zip |
bug 1149
Diffstat (limited to 'cpp/src/FreezeScript/transformdb.cpp')
-rw-r--r-- | cpp/src/FreezeScript/transformdb.cpp | 20 |
1 files changed, 12 insertions, 8 deletions
diff --git a/cpp/src/FreezeScript/transformdb.cpp b/cpp/src/FreezeScript/transformdb.cpp index 9f868efccb5..cf38e463bf5 100644 --- a/cpp/src/FreezeScript/transformdb.cpp +++ b/cpp/src/FreezeScript/transformdb.cpp @@ -92,7 +92,8 @@ findType(const string& prog, const Slice::UnitPtr& u, const string& type) } static void -transformDb(bool evictor, const Ice::CommunicatorPtr& communicator, +transformDb(bool evictor, const Ice::CommunicatorPtr& communicator, + const FreezeScript::ObjectFactoryPtr& objectFactory, DbEnv& dbEnv, DbEnv& dbEnvNew, const string& dbName, const Freeze::ConnectionPtr& connectionNew, vector<Db*>& dbs, const Slice::UnitPtr& oldUnit, const Slice::UnitPtr& newUnit, @@ -152,8 +153,8 @@ transformDb(bool evictor, const Ice::CommunicatorPtr& communicator, // istringstream istr(descriptors); string facet = (name == "$default" ? "" : name); - FreezeScript::transformDatabase(communicator, oldUnit, newUnit, &db, dbNew, txnNew, 0, dbName, - facet, purgeObjects, cerr, suppress, istr); + FreezeScript::transformDatabase(communicator, objectFactory, oldUnit, newUnit, &db, dbNew, txnNew, 0, + dbName, facet, purgeObjects, cerr, suppress, istr); db.close(0); } @@ -179,8 +180,8 @@ transformDb(bool evictor, const Ice::CommunicatorPtr& communicator, // Execute the transformation descriptors. // istringstream istr(descriptors); - FreezeScript::transformDatabase(communicator, oldUnit, newUnit, &db, dbNew, txnNew, connectionNew, - dbName, "", purgeObjects, cerr, suppress, istr); + FreezeScript::transformDatabase(communicator, objectFactory, oldUnit, newUnit, &db, dbNew, txnNew, + connectionNew, dbName, "", purgeObjects, cerr, suppress, istr); db.close(0); } @@ -520,6 +521,9 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator) return EXIT_FAILURE; } + FreezeScript::ObjectFactoryPtr objectFactory = new FreezeScript::ObjectFactory; + communicator->addObjectFactory(objectFactory, ""); + // // Transform the database. // @@ -632,13 +636,13 @@ run(int argc, char** argv, const Ice::CommunicatorPtr& communicator) cout << "Processing database " << p->first << " with descriptor: " << localDescriptor << endl; } - transformDb(p->second.evictor, communicator, dbEnv, dbEnvNew, p->first, connectionNew, dbs, - oldUnit, newUnit, txnNew, purgeObjects, suppress, localDescriptor); + transformDb(p->second.evictor, communicator, objectFactory, dbEnv, dbEnvNew, p->first, connectionNew, + dbs, oldUnit, newUnit, txnNew, purgeObjects, suppress, localDescriptor); } } else { - transformDb(evictor, communicator, dbEnv, dbEnvNew, dbName, connectionNew, dbs, + transformDb(evictor, communicator, objectFactory, dbEnv, dbEnvNew, dbName, connectionNew, dbs, oldUnit, newUnit, txnNew, purgeObjects, suppress, descriptors); } } |