⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 simple-test.cc

📁 MICO2.3.13 corba 环境平台
💻 CC
📖 第 1 页 / 共 4 页
字号:
    try {    fig2 = Documents::Figure::_narrow (figure_factory->create ("fig2.jpg"));    node2 = CosCompoundExternalization::Node::_narrow       (node_factory->create_node (fig2));    role2 = CosExternalizationContainment::ContainedInRole::_narrow       (containedin_factory->create_role        (node2));        role1 = CosExternalizationContainment::ContainsRole::_narrow      (contains_factory->create_role       (node1));  } catch (CosRelationships::RoleFactory::RelatedObjectTypeError &ex1) {    cout << "RelatedObjectTypeError!\n" << flush;  }  assert (!CORBA::is_nil (role1));  assert (!CORBA::is_nil (role2));  exception = FALSE;    cout << "Checking RelationshipFactory::create () ..." << flush;  CosRelationships::NamedRoles nr;  nr.length (2);  nr[0].name = CORBA::string_dup ("ExternalizationContainsRole");  nr[0].aRole = CosRelationships::Role::_duplicate (role1);  nr[1].name = CORBA::string_dup ("ExternalizationContainedInRole");  nr[1].aRole = CosRelationships::Role::_duplicate (role2);    try {    relship1 = CosExternalizationContainment::Relationship::_narrow      (containment_factory->create (nr));  }   catch (CosRelationships::RelationshipFactory::DegreeError &ex) {    cout << "DegreeError exception!!!\n" << flush;    cout << "Required degree is " << ex->required_degree << "\n" << flush;    relship1 = CosExternalizationContainment::Relationship::_nil ();  }   catch (CosRelationships::RelationshipFactory::DuplicateRoleName &ex) {    cout << "DuplicateRoleName exception!!!\n" << flush;    cout << "ex->culprits.length () = " << (ex->culprits).length () << "\n" << flush;    for (unsigned int i=0; i<(ex->culprits).length () ; i++) {      cout << i << ". name: " << (ex->culprits[i]).name << "\n" << flush;    }    relship1 = CosExternalizationContainment::Relationship::_nil ();  }   catch (CosRelationships::RelationshipFactory::UnknownRoleName &ex) {    cout << "UnknownRoleName exception!!!\n" << flush;    cout << "ex->culprits.length () = " << (ex->culprits).length () << "\n" << flush;    for (unsigned int i=0; i< (ex->culprits).length (); i++) {      cout << i << ". name: " << (ex->culprits[i]).name << "\n" << flush;    }    relship1 = CosExternalizationContainment::Relationship::_nil ();    cout << "End of catch statement!\n" << flush;  }    if (!CORBA::is_nil (relship1)) {    cout << "ok.\n" << flush;  }  else {    cout << "failed.\n";  }  exception = FALSE;  state_good = FALSE;  cout << "Checking RelationshipFactory::UnknownRoleName exception  ..."        << flush;  nr.length (2);  nr[0].name = strdup ("Ha");  nr[0].aRole = CosRelationships::Role::_duplicate (role1);  nr[1].name = strdup ("ExternalizationConatinedInRole");  nr[1].aRole = CosRelationships::Role::_duplicate (role2);   try {    relship1 = CosExternalizationContainment::Relationship::_narrow       (containment_factory->create (nr));  }   catch (CosRelationships::RelationshipFactory::DegreeError &ex) {    cout << "DegreeError exception!!!\n" << flush;    cout << "Required degree is " << ex->required_degree << "\n" << flush;    exception = TRUE;  }   catch (CosRelationships::RelationshipFactory::DuplicateRoleName &ex) {    cout << "DuplicateRoleName exception!!!\n" << flush;    cout << "ex->culprits.length () = " << (ex->culprits).length () << "\n" << flush;    for (unsigned int i=0; i<(ex->culprits).length () ; i++) {      cout << i << ". name: " << (ex->culprits[i]).name << "\n" << flush;    }    exception = TRUE;  }   catch (CosRelationships::RelationshipFactory::UnknownRoleName &ex) {    //       cout << "UnknownRoleName exception!!!\n" << flush;    //       cout << "ex->culprits.length () = " << (ex->culprits).length () << "\n"     //       << flush;    //       for (int i=0; i< (ex->culprits).length (); i++) {    //         cout << i << ". name: " << (ex->culprits[i]).name << "\n" << flush;    //       }    state_good = TRUE;  }  if (state_good) {    cout << "ok.\n" << flush;  }  else     cout << "failed.\n" << flush;  exception = FALSE;  state_good = FALSE;  cout << "Checking RelationshipFactory::DuplicateRoleName exception  ..."        << flush;  nr.length (2);  nr[0].name = CORBA::string_dup ("ExternalizationContainsRole");  nr[0].aRole = CosRelationships::Role::_duplicate (role1);  nr[1].name = CORBA::string_dup ("ExternalizationContainsRole");  nr[1].aRole = CosRelationships::Role::_duplicate (role1);   try {    relship1 = CosExternalizationContainment::Relationship::_narrow      (containment_factory->create (nr));  }   catch (CosRelationships::RelationshipFactory::DegreeError &ex) {    cout << "DegreeError exception!!!\n" << flush;    cout << "Required degree is " << ex->required_degree << "\n" << flush;    exception = TRUE;  }   catch (CosRelationships::RelationshipFactory::DuplicateRoleName &ex) {    //       cout << "DuplicateRoleName exception!!!\n" << flush;    //       cout << "ex->culprits.length () = " << (ex->culprits).length () << "\n"    //            << flush;    //       for (int i=0; i<(ex->culprits).length () ; i++) {    //         cout << i << ". name: " << (ex->culprits[i]).name << "\n" << flush;    //       }    state_good = TRUE;  }   catch (CosRelationships::RelationshipFactory::UnknownRoleName &ex) {    cout << "UnknownRoleName exception!!!\n" << flush;    cout << "ex->culprits.length () = " << (ex->culprits).length () << "\n" << flush;    for (unsigned int i=0; i< (ex->culprits).length (); i++) {      cout << i << ". name: " << (ex->culprits[i]).name << "\n" << flush;    }    exception = TRUE;    cout << "End of catch statement!\n" << flush;  }  if (state_good)     cout << "ok.\n" << flush;  else    cout << "failed.\n" << flush;  exception = FALSE;  state_good = FALSE;  cout << "Checking RelationshipFactory::DegreeError exception  ..." << flush;  nr.length (3);  nr[0].name = CORBA::string_dup ("ExternalizationContainsRole");  nr[0].aRole = CosRelationships::Role::_duplicate (role1);  nr[1].name = CORBA::string_dup ("ExternalizationContainedInRole");  nr[1].aRole = CosRelationships::Role::_duplicate (role2);  nr[2].name = CORBA::string_dup ("ExternalizationContainedInRole");  nr[2].aRole = CosRelationships::Role::_duplicate (role2);   try {    relship1 = CosExternalizationContainment::Relationship::_narrow       (containment_factory->create (nr));  }   catch (CosRelationships::RelationshipFactory::DegreeError &ex) {    //       cout << "DegreeError exception!!!\n" << flush;    //       cout << "Required degree is " << ex->required_degree << "\n" << flush;    state_good = TRUE;  }   catch (CosRelationships::RelationshipFactory::DuplicateRoleName &ex) {    cout << "DuplicateRoleName exception!!!\n" << flush;    cout << "ex->culprits.length () = " << (ex->culprits).length () << "\n" << flush;    for (unsigned int i=0; i<(ex->culprits).length () ; i++) {      cout << i << ". name: " << (ex->culprits[i]).name << "\n" << flush;    }    exception = TRUE;  }   catch (CosRelationships::RelationshipFactory::UnknownRoleName &ex) {    cout << "UnknownRoleName exception!!!\n" << flush;    cout << "ex->culprits.length () = " << (ex->culprits).length () << "\n" << flush;    for (unsigned int i=0; i< (ex->culprits).length (); i++) {      cout << i << ". name: " << (ex->culprits[i]).name << "\n" << flush;    }    exception = TRUE;    cout << "End of catch statement!\n" << flush;  }  if (state_good)     cout << "ok.\n" << flush;  else    cout << "failed\n" << flush;  exception = FALSE;  state_good = FALSE;  cout << "Checking RelationshipFactory::RoleTypeError exception  ..."        << flush;  nr.length (2);  nr[0].name = CORBA::string_dup ("ExternalizationContainsRole");  nr[0].aRole = CosRelationships::Role::_duplicate (role1);  nr[1].name = CORBA::string_dup ("ExternalizationContainedInRole");  nr[1].aRole = CosRelationships::Role::_duplicate (role1);  // ContainedInRole   try {    relship1 = CosExternalizationContainment::Relationship::_narrow      (containment_factory->create (nr));  }   catch (CosRelationships::RelationshipFactory::DegreeError &ex) {    cout << "DegreeError exception!!!\n" << flush;    cout << "Required degree is " << ex->required_degree << "\n" << flush;    exception = TRUE;  }   catch (CosRelationships::RelationshipFactory::DuplicateRoleName &ex) {    cout << "DuplicateRoleName exception!!!\n" << flush;    cout << "ex->culprits.length () = " << (ex->culprits).length () << "\n" << flush;    for (unsigned int i=0; i<(ex->culprits).length () ; i++) {      cout << i << ". name: " << (ex->culprits[i]).name << "\n" << flush;    }    exception = TRUE;  }   catch (CosRelationships::RelationshipFactory::UnknownRoleName &ex) {    cout << "UnknownRoleName exception!!!\n" << flush;    cout << "ex->culprits.length () = " << (ex->culprits).length () << "\n" << flush;    for (unsigned int i=0; i< (ex->culprits).length (); i++) {      cout << i << ". name: " << (ex->culprits[i]).name << "\n" << flush;    }    exception = TRUE;    cout << "End of catch statement!\n" << flush;  }  catch (CosRelationships::RelationshipFactory::RoleTypeError &ex) {    //      cout << "RoleTypeError exception!!!\n" << flush;    //      cout << "ex->culprits.length () = " << (ex->culprits).length () << "\n" << flush;    //      for (int i=0; i< (ex->culprits).length (); i++) {    //        cout << i << ". name: " << (ex->culprits[i]).name << "\n" << flush;    //      }    state_good = TRUE;  }  if (state_good)    cout << "ok.\n" << flush;  else    cout << "failed.\n" << flush;  exception = FALSE;  state_good = FALSE;  cout << "Checking RelationshipFactory::MaxCardinalityExceeded exception  ..."       << flush;  nr.length (2);  nr[0].name = CORBA::string_dup ("ExternalizationContainsRole");  nr[0].aRole = CosRelationships::Role::_duplicate (role1);  nr[1].name = CORBA::string_dup ("ExternalizationContainedInRole");  // will be twice  nr[1].aRole = CosRelationships::Role::_duplicate (role2);  try {    relship1 = CosExternalizationContainment::Relationship::_narrow       (containment_factory->create (nr));  }   catch (CosRelationships::RelationshipFactory::DegreeError &ex) {    cout << "DegreeError exception!!!\n" << flush;    cout << "Required degree is " << ex->required_degree << "\n" << flush;    exception = TRUE;  }   catch (CosRelationships::RelationshipFactory::DuplicateRoleName &ex) {    cout << "DuplicateRoleName exception!!!\n" << flush;    cout << "ex->culprits.length () = " << (ex->culprits).length () << "\n" << flush;    for (unsigned int i=0; i<(ex->culprits).length () ; i++) {      cout << i << ". name: " << (ex->culprits[i]).name << "\n" << flush;    }    exception = TRUE;  }   catch (CosRelationships::RelationshipFactory::UnknownRoleName &ex) {    cout << "UnknownRoleName exception!!!\n" << flush;    cout << "ex->culprits.length () = " << (ex->culprits).length () << "\n" << flush;    for (unsigned int i=0; i< (ex->culprits).length (); i++) {      cout << i << ". name: " << (ex->culprits[i]).name << "\n" << flush;    }    exception = TRUE;    cout << "End of catch statement!\n" << flush;  }  catch (CosRelationships::RelationshipFactory::MaxCardinalityExceeded &ex) {    //       cout << "MaxCardinalityExceeded exception!!!\n" << flush;    //       cout << "ex->culprits.length () = " << (ex->culprits).length () << "\n" << flush;    //       for (int i=0; i< (ex->culprits).length (); i++) {    //         cout << i << ". name: " << (ex->culprits[i]).name << "\n" << flush;    //       }    state_good = TRUE;  }  if (state_good)    cout << "ok.\n" << flush;  else    cout << "failed.\n" << flush;  cout << "Checking Role::get_relationships ()  ..." << flush;  CosRelationships::RelationshipIterator_var     iterator = CosRelationships::RelationshipIterator::_nil ();  CosRelationships::RelationshipHandles* rel_handles;  rel_handles = NULL;  role1->get_relationships (3, rel_handles, iterator);  if ((rel_handles != NULL) && (CORBA::is_nil (iterator))) {    rel_handles = NULL;    iterator = CosRelationships::RelationshipIterator::_nil ();    role1->get_relationships (0, rel_handles, iterator);    if (rel_handles->length () == 0)       if (!CORBA::is_nil (iterator))	cout << "ok.\n" << flush;      else	cout << "error3!\n" << flush;    else      cout << "error2!\n" << flush;  }  else    cout << "error!\n" << flush;  cout << "Checking RelationshipIterator::next_n ()  ..." << flush;  iterator->next_n (10, rel_handles);  if (rel_handles->length () == 1 &&       ( (*rel_handles)[0].the_relationship->is_identical (relship1)))    cout << "ok.\n" << flush;  else    cout << "error!\n" << flush;  iterator->destroy ();  cout << "Checking RelationshipIterator::next_one ()  ..." << flush;  CosRelationships::RelationshipHandle* rel_handle;  role1->get_relationships (0, rel_handles, iterator);  iterator->next_one (rel_handle);  if (rel_handle->the_relationship->is_identical (relship1))    cout << "ok.\n" << flush;  else    cout << "error!\n" << flush;  // testing second level of MICO RS  cout << "Checking second level\n";  assert (!CORBA::is_nil (text_factory));  assert (!CORBA::is_nil (figure_factory));  Documents::Text_var text = text_factory->create_with_file     (CORBA::string_dup ("MICO Relationship Service."),      CORBA::string_dup ("thesis.tex"));  Documents::Figure_var obr1 = figure_factory->create_with_file     (CORBA::string_dup ("obr1"), CORBA::string_dup ("obr1.eps"));  Documents::Figure_var obr2 = figure_factory->create_with_file     (CORBA::string_dup ("obr2"), CORBA::string_dup ("obr2.eps"));   Documents::Figure_var obr3 = figure_factory->create_with_file     (CORBA::string_dup ("obr3"), CORBA::string_dup ("obr3.eps"));  Documents::Figure_var obr4 = figure_factory->create_with_file     (CORBA::string_dup ("obr4"), CORBA::string_dup ("obr4.eps"));  Documents::Figure_var obr5 = figure_factory->create_with_file     (CORBA::string_dup ("obr5"), CORBA::string_dup ("obr5.eps"));  

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -