[GME-commit] GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep Any.cpp,1.5,1.6 Any.h,1.3,1.4 AspectRep.cpp,1.3,1.4 AspectRep.h,1.3,1.4 Broker.cpp,1.3,1.4 Dumper.cpp,1.12,1.13 ModelRep.cpp,1.6,1.7 ModelRep.h,1.2,1.3 PointerItem.cpp,1.1,1.2 ReferenceRep.cpp,1.5,1.6 RoleRep.cpp,1.3,1.4 Sheet.cpp,1.2,1.3

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Mon Mar 8 16:23:02 CST 2004


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

Modified Files:
	Any.cpp Any.h AspectRep.cpp AspectRep.h Broker.cpp Dumper.cpp 
	ModelRep.cpp ModelRep.h PointerItem.cpp ReferenceRep.cpp 
	RoleRep.cpp Sheet.cpp 
Log Message:
Modified:
-registry handling
-aspect mapping dlg: skip unambiguous cases, put N/A to primary field too if possible
-aspect ordering moved ahead
-kindaspect used only if necessary (in cases of references used always)

Modified Files:
 	Component.rc MetaGME2004.dsp resource.h Asp/AspectPage.cpp 
 	Asp/AspectPage.h Asp/AspectSpecDlg.cpp Asp/AspectSpecDlg.h 
 	Asp/AspectSpecTbl.cpp Asp/AspectSpecTbl.h 
 	Asp/GlobalAspOrder.cpp Asp/GlobalAspOrder.h Rep/Any.cpp 
 	Rep/Any.h Rep/AspectRep.cpp Rep/AspectRep.h Rep/Broker.cpp 
 	Rep/Dumper.cpp Rep/ModelRep.cpp Rep/ModelRep.h 
 	Rep/PointerItem.cpp Rep/ReferenceRep.cpp Rep/RoleRep.cpp 
 	Rep/Sheet.cpp 
Added Files:
 	bitmapDN.bmp bitmapup.bmp 
Removed Files:
 	TokenEx.cpp TokenEx.h Asp/AspectOrder.cpp Asp/AspectOrder.h 
	Asp/AspectOrderDlg.cpp Asp/AspectOrderDlg.h 
 	Asp/OrderDialog.cpp Asp/OrderDialog.h Asp/OrderPage.cpp 
 	Asp/OrderPage.h Asp/OrderSpecTbl.cpp Asp/OrderSpecTbl.h 


CVS User: zolmol

Index: Any.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/Any.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** Any.cpp	2 Mar 2004 19:21:12 -0000	1.5
--- Any.cpp	8 Mar 2004 22:22:59 -0000	1.6
***************
*** 17,23 ****
  	std::string s1 = op1->getName();
  	std::string s2 = op2->getName();
! 	return ( s1.compare(s2) < 0);
  }
  
  /*static*/ const std::string Any::KIND_TYPE_STR[] =
  {
--- 17,26 ----
  	std::string s1 = op1->getName();
  	std::string s2 = op2->getName();
! 	int k = s1.compare(s2);
! 
! 	return ( k < 0);
  }
  
+ 
  /*static*/ const std::string Any::KIND_TYPE_STR[] =
  {
***************
*** 137,141 ****
  {
  	std::string mmm;
! 	mmm += indStr() + "<dispname>" + getDispName() +"</dispname>\n";
  	return mmm;
  }
--- 140,146 ----
  {
  	std::string mmm;
! 	std::string disp = getDispName();
! 	if ( !disp.empty())
! 		mmm += indStr() + "<dispname>" + disp +"</dispname>\n";
  	return mmm;
  }
***************
*** 163,166 ****
--- 168,191 ----
  }
  
+ 
+ BON::RegistryNode Any::getMyRegistryOld() const
+ {
+ 	if ( this->m_ptr && this->m_parentFolder)
+ 	{
+ 		std::string kind = m_ptr->getObjectMeta().name();
+ 		std::string name = m_ptr->getPath();
+ 
+ 		BON::ObjectPtr p = m_ptr->getObjectI();
+ 		long relid = 0;
+ 		COMTHROW( p->get_RelID(&relid));
+ 		char t[16];
+ 		sprintf( t, "%x", relid);
+ 
+ 		std::string child_name = kind + "s" + name + t;
+ 		return m_parentFolder->getRegistry()->getChild( child_name);
+ 	}
+ 
+ 	throw 1;
+ }
  
  std::string Any::getMyKindStr() const

Index: Any.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/Any.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** Any.h	2 Mar 2004 19:21:12 -0000	1.3
--- Any.h	8 Mar 2004 22:22:59 -0000	1.4
***************
*** 86,89 ****
--- 86,90 ----
  	virtual std::string getMyPrefix() const;
  	virtual BON::RegistryNode getMyRegistry() const;
+ 	BON::RegistryNode getMyRegistryOld() const;
  
  	bool isFCO();

Index: AspectRep.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/AspectRep.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** AspectRep.cpp	2 Mar 2004 19:21:12 -0000	1.3
--- AspectRep.cpp	8 Mar 2004 22:22:59 -0000	1.4
***************
*** 19,25 ****
  bool PartCompare::operator()( const PartRep& peer1, const PartRep& peer2) const
  {
! 	const RoleRep * p1 = peer1.getRoleRepPtr();
! 	const RoleRep * p2 = peer2.getRoleRepPtr();
! 	return (p1->getSmartRoleName().compare( p2->getSmartRoleName()) < 0);
  }
  
--- 19,33 ----
  bool PartCompare::operator()( const PartRep& peer1, const PartRep& peer2) const
  {
! 	std::string name1 = peer1.getRoleRepPtr()->getSmartRoleName();
! 	std::string name2 = peer2.getRoleRepPtr()->getSmartRoleName();
! 
! 	int k = name1.compare( name2);
! 	return ( k < 0);
! }
! 
! 
! bool AspectCompare::operator()( const AspectRep* peer1, const AspectRep* peer2) const
! {
! 	return peer1->lessThan( *peer2);
  }
  
***************
*** 300,302 ****
--- 308,315 ----
  	ASSERT( prior > 0);
  	m_priority = prior;
+ }
+ 
+ int AspectRep::getPriority() const
+ {
+ 	return m_priority;
  }

Index: AspectRep.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/AspectRep.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** AspectRep.h	2 Mar 2004 19:21:12 -0000	1.3
--- AspectRep.h	8 Mar 2004 22:22:59 -0000	1.4
***************
*** 11,14 ****
--- 11,15 ----
  class PartRep;
  class RoleRep;
+ class AspectRep;
  class ModelRep;
  
***************
*** 19,22 ****
--- 20,29 ----
  };
  
+ class AspectCompare
+ {
+ public:
+ 	bool operator()( const AspectRep* peer1, const AspectRep* peer2) const;
+ };
+ 
  class AspectRep : public Any 
  {
***************
*** 56,59 ****
--- 63,67 ----
  
  	void setPriority( int pr);
+ 	int getPriority() const;
  	
  	static const std::string m_aspectRegistryRoot;

Index: Broker.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/Broker.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** Broker.cpp	2 Mar 2004 19:21:12 -0000	1.3
--- Broker.cpp	8 Mar 2004 22:22:59 -0000	1.4
***************
*** 53,57 ****
  	sprintf( t, "%x", relid);
  
! 	return kind + "s" + name + t;
  }
  
--- 53,60 ----
  	sprintf( t, "%x", relid);
  
! 	ASSERT( name.length() >= 1);
! 	std::string tmp = name.substr(1) + '-' + t + '-' + kind;
! 	//return kind + "s" + name + t;
! 	return tmp;
  }
  

Index: Dumper.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/Dumper.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** Dumper.cpp	2 Mar 2004 19:21:12 -0000	1.12
--- Dumper.cpp	8 Mar 2004 22:22:59 -0000	1.13
***************
*** 287,291 ****
--- 287,294 ----
  		ModelRep * mod_ptr = *jt;
  		if (!mod_ptr->isAbstract())
+ 		{
+ 			mod_ptr->sortMyAspects(); // based on lessThan sort the aspects the model owns
  			mod_ptr->createPartsInModelAspects();
+ 		}
  	}
  
***************
[...1104 lines suppressed...]
  }
  
--- 1380,1396 ----
  		TO("Please check the log file!");
  		wait.Restore();
! 		success = false;
  	}
  
! 	doAspectPartsMap();
! 
! 	bool am_res = am();
! 	if (!am_res)
! 		success = false;
! 
! 	wait.Restore();
! 	doDump();
! 
! 	return success;
  }
  

Index: ModelRep.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/ModelRep.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** ModelRep.cpp	2 Mar 2004 19:21:12 -0000	1.6
--- ModelRep.cpp	8 Mar 2004 22:22:59 -0000	1.7
***************
*** 273,276 ****
--- 273,284 ----
  
  
+ void ModelRep::sortMyAspects()
+ {
+ 	// sort my aspects based on lessThan
+ 	AspectCompare asp_less_than;
+ 	std::sort( m_finalAspectList.begin(), m_finalAspectList.end(), asp_less_than);
+ }
+ 
+ 
  void ModelRep::createPartsInModelAspects()
  {
***************
*** 354,367 ****
  {
  	unsigned int i;
! 	unsigned int min_y = 5000, min_x = 5000, sel_i = -1;
  	for( i = 0; i < m_finalAspectList.size(); ++i)
  	{
! 		AspectRep * asp_ptr = m_finalAspectList[i];
! 		unsigned int t_min_x = min_x, t_min_y = min_y;
! 		asp_ptr->getXY( &t_min_x, &t_min_y);
! 		if ( (min_y > t_min_y) || (min_y == t_min_y && min_x > t_min_x ))
  		{
! 			min_y = t_min_y;
! 			min_x = t_min_x;
  			sel_i = i;
  		}
--- 362,374 ----
  {
  	unsigned int i;
! 	unsigned sel_i = -1;
  	for( i = 0; i < m_finalAspectList.size(); ++i)
  	{
! 		if (sel_i == -1)
! 			sel_i = 0;
! 		else 
  		{
! 			AspectRep * curr_best = m_finalAspectList[sel_i];
! 			if ( !curr_best->lessThan( *m_finalAspectList[i]))
  			sel_i = i;
  		}
***************
*** 508,513 ****
  		RoleMapKey ptr = *key_it;
  		RoleMapValue &roles = m_finalRoleMap[ ptr];
- 		RoleStringLex lex;
- 		//std::vector( roles.begin(), roles.end(), lex);
  		RoleSeries_Iterator jt = roles.begin();
  		for( ; jt != roles.end() ; ++jt)
--- 515,518 ----
***************
*** 518,522 ****
  
  				std::string m_ref = jt->getFCOPtr()->askMetaRef("/" + model_name + "/" + role_name);
! 				std::string role_line = indStr() + "<role name = \"" + role_name + "\" metaref = \"" + m_ref +"\" kind = \"" + kind_name + "\"><dispname>" + role_name + "</dispname></role>\n";
  				
  				if ( std::find(role_lines_to_dump.begin(), 
--- 523,528 ----
  
  				std::string m_ref = jt->getFCOPtr()->askMetaRef("/" + model_name + "/" + role_name);
! 				//std::string role_line = indStr() + "<role name = \"" + role_name + "\" metaref = \"" + m_ref +"\" kind = \"" + kind_name + "\"><dispname>" + role_name + "</dispname></role>\n";
! 				std::string role_line = indStr() + "<role name = \"" + role_name + "\" metaref = \"" + m_ref +"\" kind = \"" + kind_name + "\"></role>\n";
  				
  				if ( std::find(role_lines_to_dump.begin(), 
***************
*** 553,558 ****
  
  	// aspects
! 	std::list<AspectRep*> temp_list;
! 	std::list<AspectRep*>::iterator t_it;
  	
  	if (!m_finalAspectList.empty())
--- 559,564 ----
  
  	// aspects
! 	/*std::list<AspectRep*> temp_list;
! 	//std::list<AspectRep*>::iterator t_it;
  	
  	if (!m_finalAspectList.empty())
***************
*** 571,575 ****
  		// dump uses temp_list
  		std::list<AspectRep*>::iterator asp_it = temp_list.begin();
! 		for( ; asp_it != temp_list.end(); ++asp_it)
  		{
  			AspectRep * asp_ptr = *asp_it;
--- 577,586 ----
  		// dump uses temp_list
  		std::list<AspectRep*>::iterator asp_it = temp_list.begin();
! 		for( ; asp_it != temp_list.end(); ++asp_it)*/
! 	{
! 		AspectCompare asp_less_than;
! 		std::sort( m_finalAspectList.begin(), m_finalAspectList.end(), asp_less_than);
! 		std::vector<AspectRep *>::iterator asp_it = m_finalAspectList.begin();
! 		for( ; asp_it != m_finalAspectList.end(); ++asp_it)
  		{
  			AspectRep * asp_ptr = *asp_it;
***************
*** 618,622 ****
  
  				std::string is_port_str = part_it->getRoleRepPtr()->isPort()?"yes":"no";
! 				std::string primary_str = regVal1;
  				std::string kind_aspect_name = "";
  
--- 629,633 ----
  
  				std::string is_port_str = part_it->getRoleRepPtr()->isPort()?"yes":"no";
! 				std::string primary_str = (!regVal1.empty() && regVal1=="no")?"no":"yes";
  				std::string kind_aspect_name = "";
  
***************
*** 628,642 ****
  					regVal2 = part_it->getFCOPtr()->getMyRegistry()->getValueByPath(regPath);
  					
! 					kind_aspect_name = std::string("\" kindaspect = \"") + regVal2;
! 					if ( kind_aspect_name.empty())
! 					{
! 						global_vars.err << "Empty kindaspect value dumped. Model: " << model_name << " Aspect: " << asp_name << " Role: " << r_name << "\n";
! 						if (!error) 
! 						{
! 							TO("Check log file for errors.");
! 							error = true;
! 						}
! 					}
! 
  				}
  				std::string part_line = "<part metaref = \"" + m_ref + "\" role = \"" + r_name + "\" primary = \"" + primary_str + kind_aspect_name +"\" linked = \"" + is_port_str + "\"></part>";
--- 639,648 ----
  					regVal2 = part_it->getFCOPtr()->getMyRegistry()->getValueByPath(regPath);
  					
! 					if ( regVal2 != "__GME_default_mechanism" && !regVal2.empty() && regVal2.find_first_not_of(' ') != std::string::npos) // trim it
! 						kind_aspect_name = std::string("\" kindaspect = \"") + regVal2;
! #if( _DEBUG)
! 					else
! 						global_vars.err << "Empty kindaspect value left out. Model: " << model_name << " Aspect: " << asp_name << " Role: " << r_name << "\n";
! #endif
  				}
  				std::string part_line = "<part metaref = \"" + m_ref + "\" role = \"" + r_name + "\" primary = \"" + primary_str + kind_aspect_name +"\" linked = \"" + is_port_str + "\"></part>";

Index: ModelRep.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/ModelRep.h,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** ModelRep.h	11 Feb 2004 18:55:20 -0000	1.2
--- ModelRep.h	8 Mar 2004 22:22:59 -0000	1.3
***************
*** 92,95 ****
--- 92,97 ----
  	bool check();
  	void inherit();
+ 	
+ 	void sortMyAspects();
  	void createPartsInModelAspects();
  

Index: PointerItem.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/PointerItem.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** PointerItem.cpp	4 Dec 2003 16:45:27 -0000	1.1
--- PointerItem.cpp	8 Mar 2004 22:22:59 -0000	1.2
***************
*** 5,9 ****
  {
  	std::string p1_n = p1.name();
! 	return (p1_n.compare( p2.name()) < 0 );
  }
  
--- 5,12 ----
  {
  	std::string p1_n = p1.name();
! 	std::string p2_n = p2.name();
! 	int k = p1_n.compare( p2_n);
! 
! 	return (k < 0 );
  }
  

Index: ReferenceRep.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/ReferenceRep.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** ReferenceRep.cpp	2 Mar 2004 19:21:12 -0000	1.5
--- ReferenceRep.cpp	8 Mar 2004 22:22:59 -0000	1.6
***************
*** 154,171 ****
  int ReferenceRep::howManyAspectsAmongModelRefs() const
  {
! 	ModelRep::AspectRepPtrList aggregated;
! 	std::vector<const ModelRep *> models = getModelRefVector();
! 	std::vector<const ModelRep *>::iterator it = models.begin();
! 	for( ; it != models.end(); ++it)
! 	{
! 		ModelRep::AspectRepPtrList asps = (*it)->getAspectRepPtrList();
! 		ModelRep::AspectRepPtrList::iterator asps_it = asps.begin();
! 		for( ; asps_it != asps.end(); ++asps_it)
! 		{
! 			if ( std::find( aggregated.begin(), aggregated.end(), *asps_it) == aggregated.end())
! 				aggregated.push_back( *asps_it);
! 		}
! 	}
! 	return (int) aggregated.size(); 
  }
  
--- 154,159 ----
  int ReferenceRep::howManyAspectsAmongModelRefs() const
  {
! 	ModelRep::AspectRepPtrList intersection_of_asps = getAspectsIntersection();
! 	return (int) intersection_of_asps.size(); 
  }
  
***************
*** 173,204 ****
  AspectRep * ReferenceRep::getFirstAspectFromIntersection() const
  {
  	AspectRep * lowest_asp = 0;
- 	ModelRep::AspectRepPtrList union_of_asp;
- 	bool inited = false;
- 	std::vector<const ModelRep *> models = getModelRefVector();
- 	std::vector<const ModelRep *>::iterator it = models.begin();
- 	for( ; it != models.end(); ++it)
- 	{
- 		const ModelRep::AspectRepPtrList &asplist = (*it)->getFinalAspectRepPtrList();
- 		if ( !inited)
- 		{
- 			union_of_asp = asplist; // set the first vector as an initial value of the union
- 			inited = true;
- 		}
- 		else
- 		{
- 			ModelRep::AspectRepPtrList::iterator union_asp_it = union_of_asp.begin();
- 			while( union_asp_it != union_of_asp.end())
- 			{
- 				if ( std::find( asplist.begin(), asplist.end(), *union_asp_it) == asplist.end()) // element of union not found in asp set, so it should be deleted from the union
- 					union_asp_it = union_of_asp.erase( union_asp_it); // this moves the iterator ahead
- 				else
- 				 ++union_asp_it;
- 			}
- 		}
- 	}
  
! 	ModelRep::AspectRepPtrList::iterator asp_it = union_of_asp.begin();
! 	for( ; asp_it != union_of_asp.end(); ++asp_it)
  	{
  		if ( !lowest_asp) // is lowest_asp set?
--- 161,170 ----
  AspectRep * ReferenceRep::getFirstAspectFromIntersection() const
  {
+ 	ModelRep::AspectRepPtrList intersection_of_asps = getAspectsIntersection();
+ 
  	AspectRep * lowest_asp = 0;
  
! 	ModelRep::AspectRepPtrList::iterator asp_it = intersection_of_asps.begin();
! 	for( ; asp_it != intersection_of_asps.end(); ++asp_it)
  	{
  		if ( !lowest_asp) // is lowest_asp set?
***************
*** 214,218 ****
  std::vector<AspectRep *> ReferenceRep::getAspectsIntersection() const
  {
! 	ModelRep::AspectRepPtrList union_of_asp;
  	bool inited = false;
  	std::vector<const ModelRep *> models = getModelRefVector();
--- 180,184 ----
  std::vector<AspectRep *> ReferenceRep::getAspectsIntersection() const
  {
! 	ModelRep::AspectRepPtrList intersection_of_asps;
  	bool inited = false;
  	std::vector<const ModelRep *> models = getModelRefVector();
***************
*** 223,245 ****
  		if ( !inited)
  		{
! 			union_of_asp = asplist; // set the first vector as an initial value of the union
  			inited = true;
  		}
  		else
  		{
! 			ModelRep::AspectRepPtrList::iterator union_asp_it = union_of_asp.begin();
! 			while( union_asp_it != union_of_asp.end())
  			{
! 				if ( std::find( asplist.begin(), asplist.end(), *union_asp_it) == asplist.end()) // element of union not found in asp set, so it should be deleted from the union
! 					union_asp_it = union_of_asp.erase( union_asp_it); // this moves the iterator ahead
  				else
! 				 ++union_asp_it;
  			}
  		}
  	}
! 	return union_of_asp;
  }
  
  
  AspectRep * ReferenceRep::getFirstAmongModelAspects() const
  {
--- 189,212 ----
  		if ( !inited)
  		{
! 			intersection_of_asps = asplist; // set the first vector as an initial value of the union
  			inited = true;
  		}
  		else
  		{
! 			ModelRep::AspectRepPtrList::iterator isect_it = intersection_of_asps.begin();
! 			while( isect_it != intersection_of_asps.end())
  			{
! 				if ( std::find( asplist.begin(), asplist.end(), *isect_it) == asplist.end()) // element of union not found in asp set, so it should be deleted from the union
! 					isect_it = intersection_of_asps.erase( isect_it); // this moves the iterator ahead
  				else
! 				 ++isect_it;
  			}
  		}
  	}
! 	return intersection_of_asps;
  }
  
  
+ /*out of date, out of use obsolete*/ //<!>
  AspectRep * ReferenceRep::getFirstAmongModelAspects() const
  {

Index: RoleRep.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/RoleRep.cpp,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** RoleRep.cpp	2 Mar 2004 19:21:12 -0000	1.3
--- RoleRep.cpp	8 Mar 2004 22:22:59 -0000	1.4
***************
*** 34,38 ****
  	std::string part1_name = ::get_name( peer1, "role");
  	std::string part2_name = ::get_name( peer2, "role");
! 	return (part1_name.compare( part2_name) < 0);
  }
  
--- 34,40 ----
  	std::string part1_name = ::get_name( peer1, "role");
  	std::string part2_name = ::get_name( peer2, "role");
! 	int k = part1_name.compare( part2_name);
! 
! 	return (k < 0);
  }
  
***************
*** 40,44 ****
  bool StringLex::operator()( const std::string& peer1, const std::string& peer2) const
  { 
! 	return (peer1.compare(peer2) < 0);
  }
  
--- 42,48 ----
  bool StringLex::operator()( const std::string& peer1, const std::string& peer2) const
  { 
! 	int k = peer1.compare(peer2);
! 
! 	return (k < 0);
  }
  
***************
*** 49,52 ****
--- 53,57 ----
  	std::string n2 = peer2.getSmartRoleName();
  	int k = n1.compare( n2);
+ 
  	return ( k < 0);
  }

Index: Sheet.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/Sheet.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** Sheet.cpp	2 Mar 2004 19:21:12 -0000	1.2
--- Sheet.cpp	8 Mar 2004 22:22:59 -0000	1.3
***************
*** 167,170 ****
--- 167,171 ----
  
  	m_attributeList.clear();
+ 	Sheet::m_BON_Project_Root_Folder = BON::Folder();
  }
  



More information about the GME-commit mailing list