[GME-commit] GMESRC/Paradigms/MetaGME/MetaInterpreter2004 BON2Component.cpp,1.11,1.12 BON2Component.h,1.5,1.6

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Thu Mar 11 09:39:40 CST 2004


Update of /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004
In directory braindrain:/tmp/cvs-serv7423

Modified Files:
	BON2Component.cpp BON2Component.h 
Log Message:
Library subfolders issue resolved.


CVS User: zolmol

Index: BON2Component.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/BON2Component.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** BON2Component.cpp	10 Mar 2004 02:36:27 -0000	1.11
--- BON2Component.cpp	11 Mar 2004 15:39:37 -0000	1.12
***************
*** 107,110 ****
--- 107,121 ----
  
  
+ void Component::scanSubFolders( const std::set<Folder>& subfolders, std::set<Folder>& result)
+ {
+ 	if (subfolders.empty()) return;
+ 
+ 	result.insert( subfolders.begin(), subfolders.end());
+ 	std::set<Folder>::iterator sub_it = subfolders.begin();
+ 	for( ; sub_it != subfolders.end(); ++sub_it)
+ 		scanSubFolders( (*sub_it)->getChildFolders(), result);
+ }
+ 
+ 
  void Component::scanProject( Project& project)
  {
***************
*** 114,121 ****
  		Sheet::m_BON_Project_Root_Folder = rf;
  
! 		std::set<Folder> folders = rf->getChildFolders(); // scan folders
  		folders.insert( rf); // including root folder
! 		std::set<Folder> libs = project->getLibraries();
! 		folders.insert( libs.begin(), libs.end());
  		std::set<Folder>::iterator folder_it = folders.begin();
  		for( ; folder_it != folders.end(); ++folder_it)
--- 125,133 ----
  		Sheet::m_BON_Project_Root_Folder = rf;
  
! 		std::set<Folder> folders;
  		folders.insert( rf); // including root folder
! 		std::set<Folder> subfolders = rf->getChildFolders(); // scan folders
! 		folders.insert( subfolders.begin(), subfolders.end());
! 		
  		std::set<Folder>::iterator folder_it = folders.begin();
  		for( ; folder_it != folders.end(); ++folder_it)
***************
*** 126,129 ****
--- 138,157 ----
  				scanModels( *i, *folder_it); // scan all root models
  		}
+ 
+ 		std::set<Folder> library_rf = project->getLibraries(); // get all libraries
+ 		std::set<Folder>::iterator lib_rf_it = library_rf.begin();
+ 		for( ; lib_rf_it != library_rf.end(); ++lib_rf_it)
+ 		{
+ 			folders.clear();
+ 			scanSubFolders( (*lib_rf_it)->getChildFolders(), folders); // get all subfolders of a library root folder
+ 			folders.insert( *lib_rf_it); // insert the library root folder too
+ 			for( folder_it = folders.begin(); folder_it != folders.end(); ++folder_it)
+ 			{
+ 				std::set<Model> objs = (*folder_it)->getChildModels();
+ 				std::set<Model>::iterator i = objs.begin();
+ 				for( ; i != objs.end(); ++i)
+ 					scanModels( *i, *lib_rf_it); // scan all library contained models, with the library rootfolder as its registry information holder
+ 			}
+ 		}
  	}
  	catch(...)
***************
*** 195,201 ****
  			}
  			else
! 			{
! 				TO( std::string("Error: weird aspect member operation\nOp1: ") + (*aspect)->getName() + "\nOp2: " + (*asp_elem)->getName());
! 			}
  		}
  	}
--- 223,227 ----
  			}
  			else
! 				global_vars.err << "Error: weird aspect member operation\nOp1: " << (*aspect)->getName() << "\nOp2: " << (*asp_elem)->getName();
  		}
  	}
***************
*** 1462,1469 ****
  				m_entities.push_back( Entity( BON::Folder(), rel_it->getOp1()));
  				if ( ptr != BON::Object())
! 					TO( std::string("CHECK: Operand 1 of ") + rel_it->getOperationStr() + " is not present in Entities\n" + 
! 						ptr->getName() + " : " + ptr->getObjectMeta().name() + " has been inserted");
  				else
! 					TO( std::string("CHECK: Operand 1 of ") + rel_it->getOperationStr() + " is null\n");
  			}
  			if ( ent2 == Entity( BON::Folder(), BON::Object()))
--- 1488,1495 ----
  				m_entities.push_back( Entity( BON::Folder(), rel_it->getOp1()));
  				if ( ptr != BON::Object())
! 					global_vars.err << "Internal error: Operand 1 of " << rel_it->getOperationStr() << " is not present in Entities\n" <<
! 						ptr->getName() << " : " << ptr->getObjectMeta().name() << " has been inserted";
  				else
! 					global_vars.err << "Internal error: Operand 1 of " << rel_it->getOperationStr() << " is null\n";
  			}
  			if ( ent2 == Entity( BON::Folder(), BON::Object()))
***************
*** 1472,1479 ****
  				m_entities.push_back( Entity( BON::Folder(), rel_it->getOp2()));
  				if ( ptr != BON::Object())
! 					TO( std::string("CHECK: Operand 2 of ") + rel_it->getOperationStr() + " is not present in Entities\n" + 
! 						ptr->getName() + " : " + ptr->getObjectMeta().name() + " has been inserted");
  				else
! 					TO( std::string("CHECK: Operand 2 of ") + rel_it->getOperationStr() + " is null\n");
  			}
  			if ( ent3 == Entity( BON::Folder(), BON::Object()))
--- 1498,1505 ----
  				m_entities.push_back( Entity( BON::Folder(), rel_it->getOp2()));
  				if ( ptr != BON::Object())
! 					global_vars.err << "Internal error: Operand 2 of " << rel_it->getOperationStr() << " is not present in Entities\n" << 
! 						ptr->getName() << " : " << ptr->getObjectMeta().name() << " has been inserted";
  				else
! 					global_vars.err << "Internal error: Operand 2 of " << rel_it->getOperationStr() << " is null\n";
  			}
  			if ( ent3 == Entity( BON::Folder(), BON::Object()))
***************
*** 1483,1492 ****
  					ptr = rel_it->getOp3();
  					m_entities.push_back( Entity( BON::Folder(), rel_it->getOp3()));
! 					TO( std::string("CHECK: Operand 3 of ") + rel_it->getOperationStr() + " is not present in Entities\n" + 
! 						ptr->getName() + " : " + ptr->getObjectMeta().name() + " has been inserted");
  				}
  				else 
  				{
! 					TO("CHECK: Association without Connection class: " + o1->getName() + " o " + o2->getName() );
  				}
  			}
--- 1509,1518 ----
  					ptr = rel_it->getOp3();
  					m_entities.push_back( Entity( BON::Folder(), rel_it->getOp3()));
! 					global_vars.err << "Internal error: Operand 3 of " << rel_it->getOperationStr() << " is not present in Entities\n" << 
! 						ptr->getName() << " : " << ptr->getObjectMeta().name() << " has been inserted";
  				}
  				else 
  				{
! 					global_vars.err << "Internal error: Association without Connection class: " << o1->getName() << " o " << o2->getName() << "\n"; 
  				}
  			}
***************
*** 1496,1500 ****
  			if( rel_it->getOp1() == BON::Object() ||
  				rel_it->getOp2() == BON::Object() )
! 				TO( rel_it->getOperationStr() + "has one operand 0");
  
  			Entity ent1 = entitySearch( rel_it->getOp1());
--- 1522,1526 ----
  			if( rel_it->getOp1() == BON::Object() ||
  				rel_it->getOp2() == BON::Object() )
! 				global_vars.err << "Internal error: " << rel_it->getOperationStr() << " has one operand 0\n";
  
  			Entity ent1 = entitySearch( rel_it->getOp1());
***************
*** 1506,1513 ****
  				m_entities.push_back( Entity( BON::Folder(), rel_it->getOp1()));
  				if ( ptr != BON::Object())
! 					TO( std::string("CHECK: Operand 1 of ") + rel_it->getOperationStr() + " is not present in Entities\n" + 
! 						ptr->getName() + " : " + ptr->getObjectMeta().name() + " has been inserted");
  				else
! 					TO( std::string("CHECK: Operand 1 of ") + rel_it->getOperationStr() + " is null\n"); 
  			}
  			if ( ent2 == Entity( BON::Folder(), BON::Object()))
--- 1532,1539 ----
  				m_entities.push_back( Entity( BON::Folder(), rel_it->getOp1()));
  				if ( ptr != BON::Object())
! 					global_vars.err << "Internal error: Operand 1 of " << rel_it->getOperationStr() << " is not present in Entities\n" << 
! 						ptr->getName() << " : " << ptr->getObjectMeta().name() << " has been inserted";
  				else
! 					global_vars.err << "Internal error: Operand 1 of " << rel_it->getOperationStr() + " is null\n"; 
  			}
  			if ( ent2 == Entity( BON::Folder(), BON::Object()))
***************
*** 1521,1528 ****
  				if ( rel_it->getOp2())
  					peer2 = rel_it->getOp2()->getName() + " " + rel_it->getOp2()->getObjectMeta().name();
! 				TO( std::string("CHECK: Operand 2 of ") + rel_it->getOperationStr() + " is not present in Entities\n" + 
! 					ptr->getName() + " : " + ptr->getObjectMeta().name() + " has been inserted\n" + 
! 					"Operand1: " + peer1 + "\n" +
! 					"Operand2: " + peer2 + "\n");
  				
  				// try to check the members of a set
--- 1547,1554 ----
  				if ( rel_it->getOp2())
  					peer2 = rel_it->getOp2()->getName() + " " + rel_it->getOp2()->getObjectMeta().name();
! 				global_vars.err << "Internal error: Operand 2 of " << rel_it->getOperationStr() << " is not present in Entities\n" <<
! 					ptr->getName() << " : " << ptr->getObjectMeta().name() << " has been inserted\n" << 
! 					"Operand1: " << peer1 << "\n" <<
! 					"Operand2: " << peer2 << "\n";
  				
  				// try to check the members of a set
***************
*** 1534,1538 ****
  					//BON::Set set = dynamic_cast<BON::Set>(obj);
  					BON::Set set = BON::Set( obj);
! 					if (!set) TO("ERROR during set manipulation");
  					
  					std::set<FCO> list = set->getMembers();
--- 1560,1564 ----
  					//BON::Set set = dynamic_cast<BON::Set>(obj);
  					BON::Set set = BON::Set( obj);
! 					if (!set) global_vars.err << "Internal error: during set manipulation\n";
  					
  					std::set<FCO> list = set->getMembers();
***************
*** 1547,1551 ****
  						++list_it;
  					}
! 					TO( "Aspect members are:\n" + mmm);
  				}
  			}
--- 1573,1577 ----
  						++list_it;
  					}
! 					global_vars.err << "Internal error: Aspect members are:\n" << mmm << "\n";
  				}
  			}
***************
*** 1554,1558 ****
  			{
  				if (rel_it->getOp3() == BON::Object())
! 					TO( "(Folder)Containment line object not present in m_relations list");
  			}
  		} // end if
--- 1580,1584 ----
  			{
  				if (rel_it->getOp3() == BON::Object())
! 					global_vars.err << "Internal error: (Folder)Containment line object not present in m_relations list\n";
  			}
  		} // end if
***************
*** 1578,1583 ****
  						
  					ObjPointer o2 = rel_it1->getOp2();
! 					TO("Same attribute " + o2->getName() +
! 						" contained twice by " + o1->getName());
  				}
  			}
--- 1604,1609 ----
  						
  					ObjPointer o2 = rel_it1->getOp2();
! 					global_vars.err << "Internal error: Same attribute " << o2->getName() <<
! 						" contained twice by " << o1->getName() << "\n";
  				}
  			}
***************
*** 1617,1626 ****
  
  		CHECK();
- 		//Show();
  
  		selectFromSameAspectsFolders();
  		proxyFinder();
- 		//TO("0--------------- Proxy ---------------0");
- 		//Show();
  		equivalenceFinder();
  		removeProxiesAndEquiv();
--- 1643,1649 ----
***************
*** 1628,1633 ****
  		
  		bool do_at_all = true;
- 		//TO("0--------------- Result ---------------0");
- 		//Show();
  		if ( do_at_all)
  		{
--- 1651,1654 ----

Index: BON2Component.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/BON2Component.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** BON2Component.h	18 Feb 2004 22:18:52 -0000	1.5
--- BON2Component.h	11 Mar 2004 15:39:37 -0000	1.6
***************
*** 83,86 ****
--- 83,87 ----
  	void scanModels( const Model& model, const Folder& parent);
  	void scanSubModels( const Model& model);
+ 	void scanSubFolders( const std::set<Folder>& folders, std::set<Folder>& result);
  	void entityBuilder( const Model& model, const Folder& parent);
  



More information about the GME-commit mailing list