// ApplicationBuilder_t.cxx #include "dial_app/ApplicationBuilder.h" #include #include #include "dataset_id/SimpleUniqueIdGenerator.h" #include "dataset_xml/XmlParser.h" #include "dataset_catalog/ConnectionResolver.h" #include "dataset_credential/CredentialSelectionCatalog.h" #include "dataset_credential/GssCredentialManager.h" #include "dial_app/ApplicationRepository.h" #include "dial_app/ApplicationSelectionCatalog.h" using std::string; using std::cout; using std::endl; using dset::ConnectionResolver; using dset::CredentialSelectionCatalog; using dset::GssCredentialManager; using dial::Application; using dial::ApplicationBuilder; using dial::ApplicationRepository; using dial::ApplicationSelectionCatalog; void msg(string txt) { cout << "----- "; cout << txt; cout << " -----" << endl; } int ApplicationBuilder_t() { system("rm -f resolver.dat"); msg("Construct file description of AR"); assert( ApplicationRepository::create_default_instance() == 0 ); msg("Construct file description of ASC"); assert( ApplicationSelectionCatalog::create_default_instance() == 0 ); msg("Create unique ID generator"); SimpleUniqueIdGenerator::set_as_default(); SimpleUniqueIdGenerator::create_collection("Application", 200, 0); msg("Fetch default instance of CSC."); assert( CredentialSelectionCatalog::create_default_instance() == 0 ); CredentialSelectionCatalog& sc = CredentialSelectionCatalog::default_instance(); cout << sc << endl; assert( sc.is_valid() ); string owner = "me"; assert( GssCredentialManager::set_default() == 0 ); assert( GssCredentialManager::set_owner("me") == 0 ); msg("Construct builder"); ApplicationBuilder builder; assert( builder.repository().is_valid() ); assert( builder.selection_catalog().is_valid() ); msg("Build from XML string"); Application app1 = Application::test_instance(); cout << app1 << endl; assert( app1.is_valid() ); const XmlElement* pxapp1 = app1.xml(); assert( pxapp1 != 0 ); string sapp1 = pxapp1->to_xml_text(); delete pxapp1; cout << sapp1 << endl; Application bapp1 = builder.get(sapp1); cout << bapp1 << endl; assert( bapp1.id() == app1.id() ); msg("Need to add to the testing:"); msg(" repository, selection catalog, build from directory"); return 0; } #ifdef CTEST_MAIN int main() { return ApplicationBuilder_t(); } #endif