[GME-commit] GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep Any.cpp,1.10,1.11 Any.h,1.6,1.7 AspectRep.cpp,1.10,1.11 AspectRep.h,1.7,1.8 AtomRep.cpp,1.2,1.3 AtomRep.h,1.1,1.2 AttributeRep.cpp,1.5,1.6 ConnJoint.cpp,1.8,1.9 ConnectionRep.cpp,1.6,1.7 ConnectionRep.h,1.3,1.4 ConstraintFuncRep.cpp,1.1,1.2 ConstraintRep.cpp,1.2,1.3 Dumper.cpp,1.23,1.24 FCO.cpp,1.9,1.10 FCO.h,1.4,1.5 FcoRep.h,1.1,1.2 FolderRep.cpp,1.7,1.8 ModelRep.cpp,1.12,1.13 ModelRep.h,1.6,1.7 ReferenceRep.cpp,1.10,1.11 ReferenceRep.h,1.5,1.6 RoleRep.cpp,1.4,1.5 SetRep.cpp,1.5,1.6 SetRep.h,1.1,1.2 Sheet.cpp,1.7,1.8 Sheet.h,1.5,1.6

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Thu Jul 29 20:10:26 CDT 2004


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

Modified Files:
	Any.cpp Any.h AspectRep.cpp AspectRep.h AtomRep.cpp AtomRep.h 
	AttributeRep.cpp ConnJoint.cpp ConnectionRep.cpp 
	ConnectionRep.h ConstraintFuncRep.cpp ConstraintRep.cpp 
	Dumper.cpp FCO.cpp FCO.h FcoRep.h FolderRep.cpp ModelRep.cpp 
	ModelRep.h ReferenceRep.cpp ReferenceRep.h RoleRep.cpp 
	SetRep.cpp SetRep.h Sheet.cpp Sheet.h 
Log Message:
Name selector dialog box for chosing the preferred name in case of equivalent objects.
Errors dumped to console window.


CVS User: zolmol

Index: Any.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/Any.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** Any.cpp	16 Jul 2004 22:39:07 -0000	1.10
--- Any.cpp	30 Jul 2004 00:10:23 -0000	1.11
***************
*** 24,27 ****
--- 24,28 ----
  /*static*/ const std::string Any::InRootFolder_str = "InRootFolder";
  /*static*/ const std::string Any::DisplayedName_str = "DisplayedName";
+ /*static*/ const std::string Any::NameSelectorNode_str = "myNameIs";
  
  /*static*/ const std::string Any::KIND_TYPE_STR[] =
***************
*** 174,177 ****
--- 175,194 ----
  }
  
+ /*static*/ std::string Any::getMyPrefix( BON::FCO& fco, BON::Folder& f)
+ {
+ 	ASSERT( fco);
+ 	ASSERT( f);
+ 	return Broker::getRegistryTokenName( fco);
+ }
+ 
+ 
+ /*static*/ BON::RegistryNode Any::getMyRegistry( BON::FCO& fco, BON::Folder& f)
+ {
+ 	ASSERT( fco);
+ 	ASSERT( f);
+ 	return f->getRegistry()->getChild( Any::getMyPrefix(fco, f));
+ }
+ 
+ 
  std::string Any::askMetaRef(const std::string& in_token /* = "" */) const
  {
***************
*** 220,224 ****
  		m_initialConstraintList.push_back( constraint);
  	else
! 		global_vars.err << constraint->getName() << " constraint owned by " << getName() << " twice\n";
  }
  
--- 237,241 ----
  		m_initialConstraintList.push_back( constraint);
  	else
! 		global_vars.err << MSG_ERROR << constraint->getName() << " constraint owned by " << m_ptr << " twice\n";
  }
  
***************
*** 263,267 ****
  		mmm += ( *c_i)->doDump();
  		if ( last_name != "" && last_name == (*c_i)->getName())
! 			global_vars.err << "Error: Duplicate constraint name " << (*c_i)->getName() << " found for " << getName() << "\n";
  		last_name = (*c_i)->getName();
  	}
--- 280,284 ----
  		mmm += ( *c_i)->doDump();
  		if ( last_name != "" && last_name == (*c_i)->getName())
! 			global_vars.err << MSG_ERROR << "Duplicate constraint name " << (*c_i)->getName() << " found for " << m_ptr << "\n";
  		last_name = (*c_i)->getName();
  	}

Index: Any.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/Any.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** Any.h	16 Jul 2004 22:39:07 -0000	1.6
--- Any.h	30 Jul 2004 00:10:23 -0000	1.7
***************
*** 25,28 ****
--- 25,30 ----
  	static const std::string InRootFolder_str;//"InRootFolder"
  	static const std::string DisplayedName_str;//"DisplayedName"
+ 
+ 	static const std::string NameSelectorNode_str;
  public: // types
  	typedef enum
***************
*** 85,88 ****
--- 87,93 ----
  	virtual BON::RegistryNode getMyRegistry() const;
  	BON::RegistryNode getMyRegistryOld() const;
+ 
+ 	static std::string getMyPrefix( BON::FCO& fco, BON::Folder& f);
+ 	static BON::RegistryNode getMyRegistry( BON::FCO& fco, BON::Folder& f);
  
  	bool isFCO() const;

Index: AspectRep.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/AspectRep.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** AspectRep.cpp	16 Jul 2004 22:39:07 -0000	1.10
--- AspectRep.cpp	30 Jul 2004 00:10:23 -0000	1.11
***************
*** 16,19 ****
--- 16,20 ----
  /*static*/ const std::string AspectRep::m_aspectRegistryRoot = "AspectRegistry";
  /*static*/ const std::string AspectRep::m_aspectMetaRefsRoot = "AspectMetaRefs";
+ /*static*/ const std::string AspectRep::m_aspectNamesRoot    = "AspectSelNames";
  
  bool PartCompare::operator()( const PartRep& peer1, const PartRep& peer2) const
***************
*** 44,52 ****
  
  { 
  	if (m_respPointer == BON::FCO()) 
  	{
! 		//global_vars.err << "Fatal Error during AspectRep constructor: m_respPointer is 0\n";
! 		global_vars.err << "Warning: Dummy aspect created. You should define aspects for the models.\n";
  	}
  }
  
--- 45,55 ----
  
  { 
+ #if(0)
  	if (m_respPointer == BON::FCO()) 
  	{
! 		//v0global_vars.err << "Fatal Error during AspectRep constructor: m_respPointer is 0\n";
! p		global_vars.err << MSG_WARNING << "Dummy aspect created. You should define aspects for the models.\n";
  	}
+ #endif
  }
  
***************
*** 74,78 ****
  	if (m_respPointer == BON::FCO())
  	{
! 		global_vars.err << "Null pointer error in getAspectName\n";
  		return std::string("Null pointer error in getAspectName");
  	}
--- 77,81 ----
  	if (m_respPointer == BON::FCO())
  	{
! 		global_vars.err << MSG_ERROR << "Null pointer error in getAspectName\n";
  		return std::string("Null pointer error in getAspectName");
  	}
***************
*** 82,85 ****
--- 85,89 ----
  	}
  #else
+ #if(0)
  	if( m_respPointer != BON::FCO())
  	{
***************
*** 90,97 ****
  		return "Aspect";
  	}
  #endif
  }
  
- 
  std::string AspectRep::getDispName() const
  {
--- 94,114 ----
  		return "Aspect";
  	}
+ #else // new way
+ 	if( m_respPointer)
+ 	{
+ 		return m_respPointer->getName();
+ 	}
+ 	else if( m_ptr)
+ 	{
+ 		return m_ptr->getName();
+ 	}
+ 	else // dummy aspect
+ 	{
+ 		return "Aspect";
+ 	}
+ #endif
  #endif
  }
  
  std::string AspectRep::getDispName() const
  {
***************
*** 99,103 ****
  	if (m_respPointer == BON::FCO()) 
  	{
! 		global_vars.err << "Null pointer error in getDispName for aspect \"" + getName() + "\"\n";
  		return std::string("Null pointer error in getDispName for aspect \"") + getName() + "\"";
  	}
--- 116,120 ----
  	if (m_respPointer == BON::FCO()) 
  	{
! 		global_vars.err << MSG_ERROR << "Null pointer error in getDispName for aspect \"" + getName() + "\"\n";
  		return std::string("Null pointer error in getDispName for aspect \"") + getName() + "\"";
  	}
***************
*** 107,110 ****
--- 124,134 ----
  	}
  #else
+ 	//what about a reform such that dispname is allowed only for lonely aspects (which are not equivalent with any other)
+ 	//<!> 
+ 
+ 	// or what about deciding using the selected aspect's dispname attribute 
+ 	// (what happens if the user does not know which aspect did he selected from 
+ 	// the aspects with similar name)
+ #if(0)
  	if( m_ptr != BON::FCO()) 
  	{
***************
*** 115,118 ****
--- 139,156 ----
  		return "Aspect";	
  	}
+ #else // new way
+ 	if( m_respPointer) // not a plain fco, it has its resppointer set
+ 	{
+ 		return "";
+ 	}
+ 	else if( m_ptr)
+ 	{
+ 		return m_ptr->getAttribute( Any::DisplayedName_str)->getStringValue();
+ 	}
+ 	else // dummy aspect
+ 	{
+ 		return "";
+ 	}
+ #endif
  #endif
  }
***************
*** 137,140 ****
--- 175,196 ----
  
  
+ //
+ // these two methods are used only for selected name storing
+ //
+ /*static*/ std::string AspectRep::getMyPrefix( BON::FCO& fco, BON::Folder& f)
+ {
+ 	ASSERT( fco);
+ 	return AspectRep::m_aspectRegistryRoot + "/" + AspectRep::m_aspectNamesRoot + "/" + fco->getName();
+ }
+ 
+ 
+ /*static*/ BON::RegistryNode AspectRep::getMyRegistry( BON::FCO& fco, BON::Folder& f)
+ {
+ 	ASSERT( fco);
+ 	ASSERT( f);
+ 	return Sheet::m_BON_Project_Root_Folder->getRegistry()->getChild( AspectRep::getMyPrefix( fco, f));
+ }
+ 
+ 
  void AspectRep::addFCO( FCO* fco) 
  {
***************
*** 234,238 ****
  			{
  				ModelRep * model_desc = dynamic_cast<ModelRep *>(model_descendants[j]);
! 				if (!model_desc) global_vars.err << "Error: model descendant badly casted to model\n";
  
  				RoleRep r(
--- 290,294 ----
  			{
  				ModelRep * model_desc = dynamic_cast<ModelRep *>(model_descendants[j]);
! 				if (!model_desc) global_vars.err << MSG_ERROR << "Internal error: model descendant badly casted to model\n";
  
  				RoleRep r(
***************
*** 274,279 ****
  		series.push_back( part);
  	else
! 		global_vars.err << "Error: Part " << part.getRoleRepPtr()->getSmartRoleName() 
! 		<< " attempted to insert twice into aspect " << getName() << "\n";
  }
  
--- 330,335 ----
  		series.push_back( part);
  	else
! 		global_vars.err << MSG_ERROR << "Part " << part.getRoleRepPtr()->getSmartRoleName() 
! 		<< " attempted to insert twice into aspect " << m_ptr << "\n";
  }
  

Index: AspectRep.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/AspectRep.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** AspectRep.h	16 Jun 2004 18:56:52 -0000	1.7
--- AspectRep.h	30 Jul 2004 00:10:23 -0000	1.8
***************
*** 45,48 ****
--- 45,50 ----
  	/*virtual*/ std::string getMyPrefix() const;
  	/*virtual*/ BON::RegistryNode getMyRegistry() const;
+ 	static std::string getMyPrefix( BON::FCO& fco, BON::Folder& f);
+ 	static BON::RegistryNode getMyRegistry( BON::FCO& fco, BON::Folder& f);
  
  	void addPart2Map( ModelRep * mptr, const PartRep & part);
***************
*** 67,70 ****
--- 69,73 ----
  	static const std::string m_aspectRegistryRoot;
  	static const std::string m_aspectMetaRefsRoot;
+ 	static const std::string m_aspectNamesRoot;
  protected:
  	// this int is set if contains non-zero value

Index: AtomRep.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/AtomRep.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** AtomRep.cpp	2 Mar 2004 19:21:12 -0000	1.2
--- AtomRep.cpp	30 Jul 2004 00:10:23 -0000	1.3
***************
*** 11,17 ****
  extern int ind;
  
! AtomRep::AtomRep( BON::FCO& ptr): FCO( ptr)
! { 
  }
  
  std::string AtomRep::doDump()
--- 11,19 ----
  extern int ind;
  
! AtomRep::AtomRep( BON::FCO& ptr, BON::FCO& resp_ptr)
! 	: FCO( ptr, resp_ptr)
! {
  }
+ 
  
  std::string AtomRep::doDump()

Index: AtomRep.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/AtomRep.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** AtomRep.h	4 Dec 2003 16:45:27 -0000	1.1
--- AtomRep.h	30 Jul 2004 00:10:23 -0000	1.2
***************
*** 9,15 ****
  {
  public:
! 	AtomRep( BON::FCO& ptr);
  	inline Any::KIND_TYPE getMyKind() const { return Any::ATOM; }
! 	std::string doDump();
  
  private: // forbiding copy
--- 9,18 ----
  {
  public:
! 	AtomRep( BON::FCO& ptr, BON::FCO& resp_ptr);
! 
! 	/*virtual*/ std::string doDump();
! 
  	inline Any::KIND_TYPE getMyKind() const { return Any::ATOM; }
! 
  
  private: // forbiding copy

Index: AttributeRep.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/AttributeRep.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** AttributeRep.cpp	26 Apr 2004 17:13:38 -0000	1.5
--- AttributeRep.cpp	30 Jul 2004 00:10:23 -0000	1.6
***************
*** 91,95 ****
  		m_ownerList.push_back( owner);
  	else
! 		global_vars.err << getName() << " attribute owned by " << owner->getName() << " twice\n";
  }
  
--- 91,95 ----
  		m_ownerList.push_back( owner);
  	else
! 		global_vars.err << MSG_ERROR << m_ptr << " attribute owned by " << owner->getPtr() << " twice\n";
  }
  

Index: ConnJoint.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/ConnJoint.cpp,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** ConnJoint.cpp	26 Apr 2004 17:13:38 -0000	1.8
--- ConnJoint.cpp	30 Jul 2004 00:10:23 -0000	1.9
***************
*** 285,289 ****
  			if ( !member_ptr->checkIsPartOfFinal() && !member_ptr->isAbstract())
  			{
! 				global_vars.err << "CHECK: \"" << member_ptr->getName() << "\" fco in connection \"" << connection_name << "\" is not contained by any model.\n";
  				res = false;
  			}
--- 285,289 ----
  			if ( !member_ptr->checkIsPartOfFinal() && !member_ptr->isAbstract())
  			{
! 				global_vars.err << MSG_WARNING << "CHECK: \"" << member_ptr->getName() << "\" fco in connection \"" << connection_name << "\" is not contained by any model.\n";
  				res = false;
  			}
***************
*** 411,415 ****
  	if ( Dumper::doParseCardinality( this->m_oper1Card, "srcCount", src_card_context, src_expr_end))
  	{
! 		global_vars.err << "Ignoring invalid cardinality string in connection: " << conn_name << "\nString: " << this->m_oper1Card;
  	}
  	if ( ! src_expr_end.empty() ) 
--- 411,415 ----
  	if ( Dumper::doParseCardinality( this->m_oper1Card, "srcCount", src_card_context, src_expr_end))
  	{
! 		global_vars.err << MSG_WARNING << "Ignoring invalid cardinality string in connection: " << m_connPtr->getPtr() << ". String: " << this->m_oper1Card << "\n";
  	}
  	if ( ! src_expr_end.empty() ) 
***************
*** 434,438 ****
  	if ( Dumper::doParseCardinality( this->m_oper2Card, "dstCount", dst_card_context, dst_expr_end))
  	{
! 		global_vars.err << "Ignoring invalid cardinality string in connection: " << conn_name << "\nString: " << this->m_oper2Card;
  	}
  	if ( ! dst_expr_end.empty() ) 
--- 434,438 ----
  	if ( Dumper::doParseCardinality( this->m_oper2Card, "dstCount", dst_card_context, dst_expr_end))
  	{
! 		global_vars.err << MSG_WARNING << "Ignoring invalid cardinality string in connection: " << m_connPtr->getPtr() << ". String: " << this->m_oper2Card << "\n";
  	}
  	if ( ! dst_expr_end.empty() ) 

Index: ConnectionRep.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/ConnectionRep.cpp,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** ConnectionRep.cpp	16 Jul 2004 22:39:07 -0000	1.6
--- ConnectionRep.cpp	30 Jul 2004 00:10:23 -0000	1.7
***************
*** 20,24 ****
  /*static*/ const std::string ConnectionRep::DstAttrLabel2_str = "DstAttrLabel2";
  
! ConnectionRep::ConnectionRep( BON::FCO& ptr): FCO( ptr)
  { 
  	m_jointList.clear();
--- 20,25 ----
  /*static*/ const std::string ConnectionRep::DstAttrLabel2_str = "DstAttrLabel2";
  
! ConnectionRep::ConnectionRep( BON::FCO& ptr, BON::FCO& resp_ptr)
! 	: FCO( ptr, resp_ptr)
  { 
  	m_jointList.clear();
***************
*** 230,234 ****
  
  		if ( !desc)
! 			global_vars.err << "Design error at connection \"" << getName() << "\". Derived connection is valid only if defined between fcos derived from the fcos connected by the base connection.\n";
  	}
  }
--- 231,235 ----
  
  		if ( !desc)
! 			global_vars.err << MSG_ERROR << "Design error at connection \"" << m_ptr << "\". Derived connection is valid only if defined between fcos derived from the fcos connected by the base connection.\n";
  	}
  }
***************
*** 320,324 ****
  						mmm += indStr() + "<regnode name= \"" + reg_label[i] + "\" value=\"" + label + "\"/>\n";
  					else
! 						global_vars.err << "Attribute \"" << label.substr( 1, label.length() - 2) << "\" not found for connection \"" << getName() << "\". Wrong label specification.\n";
  				}
  				else
--- 321,325 ----
  						mmm += indStr() + "<regnode name= \"" + reg_label[i] + "\" value=\"" + label + "\"/>\n";
  					else
! 						global_vars.err << MSG_ERROR << "Attribute \"" << label.substr( 1, label.length() - 2) << "\" not found for connection \"" << m_ptr << "\". Wrong label specification.\n";
  				}
  				else

Index: ConnectionRep.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/ConnectionRep.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** ConnectionRep.h	16 Jul 2004 22:39:07 -0000	1.3
--- ConnectionRep.h	30 Jul 2004 00:10:23 -0000	1.4
***************
*** 20,29 ****
  
  public:
! 	ConnectionRep( BON::FCO& ptr);
! 	/*virtual*/ ~ConnectionRep();
  
  public:
  	/*virtual*/ void initAttributes();
- 	inline Any::KIND_TYPE getMyKind() const { return Any::CONN; }
  	void addJoint( ConnJoint & joint);
  	void appendJointElements( const ConnJoint & joint);
--- 20,32 ----
  
  public:
! 	ConnectionRep( BON::FCO& ptr, BON::FCO& resp_ptr);
! 	~ConnectionRep();
! 
! 	/*virtual*/ std::string doDump();
! 
! 	inline Any::KIND_TYPE getMyKind() const { return Any::CONN; }
  
  public:
  	/*virtual*/ void initAttributes();
  	void addJoint( ConnJoint & joint);
  	void appendJointElements( const ConnJoint & joint);
***************
*** 33,37 ****
  
  	std::string dumpConnDetails();
- 	std::string doDump();
  
  protected:
--- 36,39 ----

Index: ConstraintFuncRep.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/ConstraintFuncRep.cpp,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** ConstraintFuncRep.cpp	4 Dec 2003 16:45:27 -0000	1.1
--- ConstraintFuncRep.cpp	30 Jul 2004 00:10:23 -0000	1.2
***************
*** 28,36 ****
  	Regexp rePL( "^(" + strWS + strP + ")?" + "(" + strWS + "," + strWS + strP + ")*$", TRUE );
  	if ( ! rePL.CompiledOK() )
! 		global_vars.err << "Internal Interpreter Error: [REGEXP] " << rePL.GetErrorString();
  	else
  		if ( ! rePL.Match( paramlist.c_str() ) )
! 			global_vars.err << "Invalid format for parameterlist in Constraint Function: " << getName()
! 			<< "\r\nCorrect format: <paramname> : <paramtype> [, <paramname> : <paramtype>] ...";
  	
  	m_parameterlist = paramlist;
--- 28,36 ----
  	Regexp rePL( "^(" + strWS + strP + ")?" + "(" + strWS + "," + strWS + strP + ")*$", TRUE );
  	if ( ! rePL.CompiledOK() )
! 		global_vars.err << MSG_ERROR << "Internal Interpreter Error: [REGEXP] " << rePL.GetErrorString() << "\n";
  	else
  		if ( ! rePL.Match( paramlist.c_str() ) )
! 			global_vars.err << MSG_ERROR << "Invalid format for parameterlist in Constraint Function: " << m_ptr
! 			<< "\nCorrect format: <paramname> : <paramtype> [, <paramname> : <paramtype>] ...\n";
  	
  	m_parameterlist = paramlist;
***************
*** 39,43 ****
  	if ( contexttype.empty() ) 
  	{
! 		global_vars.err << "No context found for Constraint Function: " << getName() << "\r\nIt will be Project implicitly.";
  		contexttype = "gme::Project";
  	}
--- 39,43 ----
  	if ( contexttype.empty() ) 
  	{
! 		global_vars.err << MSG_ERROR << "No context found for Constraint Function: " << m_ptr << ". It will be Project implicitly.\n";
  		contexttype = "gme::Project";
  	}
***************
*** 47,51 ****
  	if ( returntype.empty()) 
  	{
! 		global_vars.err << "No return type found for Constraint Function: " << getName() << "\r\nIt will be bool implicitly.";
  		returntype = "ocl::Boolean";
  	}
--- 47,51 ----
  	if ( returntype.empty()) 
  	{
! 		global_vars.err << MSG_ERROR << "No return type found for Constraint Function: " << m_ptr << ". It will be bool implicitly.\n";
  		returntype = "ocl::Boolean";
  	}
***************
*** 54,58 ****
  	std::string definition = m_ptr->getAttribute( "CFuncDefinition")->getStringValue();
  	if ( definition.empty() )
! 		global_vars.err <<"No definition found for Constraint Function: " << getName();
  	m_definition = definition;
  	
--- 54,58 ----
  	std::string definition = m_ptr->getAttribute( "CFuncDefinition")->getStringValue();
  	if ( definition.empty() )
! 		global_vars.err << MSG_ERROR <<"No definition found for Constraint Function: " << m_ptr << ".\n";
  	m_definition = definition;
  	
***************
*** 60,64 ****
  	if ( stereotype == "attribute" && ! paramlist.empty()) 
  	{
! 		global_vars.err << "Attribute cannot have parameters. Parameterlist is ignored for Constraint Function: " << getName();
  		paramlist.empty();
  	}
--- 60,64 ----
  	if ( stereotype == "attribute" && ! paramlist.empty()) 
  	{
! 		global_vars.err << MSG_ERROR << "Attribute cannot have parameters. Parameterlist is ignored for Constraint Function: " << m_ptr << ".\n";
  		paramlist.empty();
  	}

Index: ConstraintRep.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/ConstraintRep.cpp,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** ConstraintRep.cpp	15 Dec 2003 22:22:10 -0000	1.2
--- ConstraintRep.cpp	30 Jul 2004 00:10:23 -0000	1.3
***************
*** 36,44 ****
  {
  	std::string desc = m_ptr->getAttribute("ConstraintDescription")->getStringValue();
! 	if(desc.empty()) global_vars.err << "No description found for constraint " << getName() << "\n";
  	m_description = desc;
  
  	std::string expr = m_ptr->getAttribute("ConstraintEqn")->getStringValue();
! 	if(expr.empty()) global_vars.err << "No equation found for constraint " << getName() << "\n";
  	m_equation = expr;
  
--- 36,44 ----
  {
  	std::string desc = m_ptr->getAttribute("ConstraintDescription")->getStringValue();
! 	if(desc.empty()) global_vars.err << MSG_ERROR << "No description found for constraint " << m_ptr << "\n";
  	m_description = desc;
  
  	std::string expr = m_ptr->getAttribute("ConstraintEqn")->getStringValue();
! 	if(expr.empty()) global_vars.err << MSG_ERROR << "No equation found for constraint " << m_ptr << "\n";
  	m_equation = expr;
  

Index: Dumper.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/Dumper.cpp,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -d -r1.23 -r1.24
*** Dumper.cpp	20 Jul 2004 10:48:35 -0000	1.23
--- Dumper.cpp	30 Jul 2004 00:10:23 -0000	1.24
***************
*** 234,238 ****
  		{
  			ModelRep * child_mod_ptr = dynamic_cast<ModelRep *>( *child_it);
! 			if ( !child_mod_ptr) global_vars.err << "Internal error: after dynamic cast - inheritAspConsAttr\n";
  
  			// inherit aspects
--- 234,238 ----
  		{
  			ModelRep * child_mod_ptr = dynamic_cast<ModelRep *>( *child_it);
! 			if ( !child_mod_ptr) global_vars.err << MSG_ERROR << "Internal error: after dynamic cast - inheritAspConsAttr\n";
  
  			// inherit aspects
***************
*** 330,334 ****
  	if (!theAspectDlg)
  	{
! 		global_vars.err << "ERROR: Aspect Dialogue cannot be created\n";
  		return true;
  	}
--- 330,334 ----
  	if (!theAspectDlg)
  	{
! 		global_vars.err << MSG_ERROR << "ERROR: Aspect Dialogue cannot be created\n";
  		return true;
  	}
***************
*** 399,403 ****
  						}
  						catch(...) {
! 							global_vars.err << "Internal error: Exception during registry related write operation.\n";
  						}
  				}
--- 399,403 ----
  						}
  						catch(...) {
! 							global_vars.err << MSG_ERROR << "Internal error: Exception during registry related write operation.\n";
  						}
  				}
***************
*** 422,426 ****
  						}
  						catch(...) {
! 							global_vars.err << "Internal error: Exception during registry related write operation.\n";
  						}
  
--- 422,426 ----
  						}
  						catch(...) {
! 							global_vars.err << MSG_ERROR << "Internal error: Exception during registry related write operation.\n";
  						}
  
***************
*** 444,448 ****
  						}
  						catch(...) {
! 							global_vars.err << "Internal error: Exception during registry related write operation.\n";
  						}
  
--- 444,448 ----
  						}
  						catch(...) {
! 							global_vars.err << MSG_ERROR << "Internal error: Exception during registry related write operation.\n";
  						}
  
***************
*** 473,477 ****
  							regVal = old_regVal2.empty()? old_regVal1:old_regVal2;
  							std::string n_msg = "PrimaryAspect registry information taken from the old place. Registry of: " + part.getFCOPtr()->getName() + " Registry path: " + primary_reg_path + "\n";
! 							global_vars.err << n_msg;
  							is_first_time_used_the_new_interpreter = true;
  						}
--- 473,477 ----
  							regVal = old_regVal2.empty()? old_regVal1:old_regVal2;
  							std::string n_msg = "PrimaryAspect registry information taken from the old place. Registry of: " + part.getFCOPtr()->getName() + " Registry path: " + primary_reg_path + "\n";
! 							global_vars.err << MSG_ERROR << n_msg;
  							is_first_time_used_the_new_interpreter = true;
  						}
***************
*** 509,513 ****
  								{
  									// error since the default selection failure means error ignoring what the registry value may have
! 									global_vars.err << "Error: Reference \"" << reference->getName() << "\" has no valid aspect. Intersection of aspects the referred models might have is empty.\n";
  									aspect_selection_impossible = true;
  								}
--- 509,513 ----
  								{
  									// error since the default selection failure means error ignoring what the registry value may have
! 									global_vars.err << MSG_ERROR << "Error: Reference \"" << reference->getPtr() << "\" has no valid aspect. Intersection of aspects the referred models might have is empty.\n";
  									aspect_selection_impossible = true;
  								}
***************
*** 532,536 ****
  								else
  								{
! 									global_vars.err << "Error: Model \"" << sub_model->getName() << "\" has no valid aspect.\n";
  									aspect_selection_impossible = true;
  								}
--- 532,536 ----
  								else
  								{
! 									global_vars.err << MSG_ERROR << "Error: Model \"" << sub_model->getPtr() << "\" has no valid aspect.\n";
  									aspect_selection_impossible = true;
  								}
***************
*** 548,552 ****
  							regVal = old_regVal2.empty()?old_regVal1:old_regVal2;
  							std::string n_msg = "KindAspect    registry information taken from the old place. Registry of: " + part.getFCOPtr()->getName() + " Registry path: " + kindasp_reg_path + "\n";
! 							global_vars.err << n_msg;
  							is_first_time_used_the_new_interpreter = true;
  						}
--- 548,552 ----
  							regVal = old_regVal2.empty()?old_regVal1:old_regVal2;
  							std::string n_msg = "KindAspect    registry information taken from the old place. Registry of: " + part.getFCOPtr()->getName() + " Registry path: " + kindasp_reg_path + "\n";
! 							global_vars.err << MSG_ERROR << n_msg;
  							is_first_time_used_the_new_interpreter = true;
  						}
***************
*** 581,585 ****
  									}
  									else
! 										global_vars.err << "Warning: Reference \"" << reference->getName() << "\" registry value: \"" << regVal << "\". Aspect registry value not found among intersection of aspects the reference may have.\n";
  								}
  								else // if ( is_model)
--- 581,585 ----
  									}
  									else
! 										global_vars.err << MSG_WARNING << "Warning: Reference \"" << reference->getPtr() << "\" registry value: \"" << regVal << "\". Aspect registry value not found among intersection of aspects the reference may have.\n";
  								}
  								else // if ( is_model)
***************
*** 596,600 ****
  									}
  									else
! 										global_vars.err << "Warning: Model \"" << sub_model->getName() << "\" has no valid aspect stored in registry.\n";
  								}
  							}
--- 596,600 ----
  									}
  									else
! 										global_vars.err << MSG_WARNING << "Warning: Model \"" << sub_model->getPtr() << "\" has no valid aspect stored in registry.\n";
  								}
  							}
***************
*** 629,633 ****
  			"Next time you interpret this metamodel you should not see this message.";
  		TO( m_note);
! 		global_vars.err << m_note << "\n";
  	}
  
--- 629,633 ----
  			"Next time you interpret this metamodel you should not see this message.";
  		TO( m_note);
! 		global_vars.err << MSG_INFO << m_note << "\n";
  	}
  
***************
*** 659,668 ****
  			// the aspect this part is member of is the act_part.getAspectPtr() one !!!
  			const AspectRep * act_aspect_rep = act_part.getContainerAspectPtr();
! 			if ( !act_aspect_rep) global_vars.err << "Internal error: ZERO pointer after aspect mapping in act_part.getContainerAspectPtr.\n";				// there an exception was thrown
  			ASSERT( act_aspect_rep);
  			std::string act_asp_name = act_aspect_rep->getName();
  
  			const ModelRep * act_mod_ptr = act_part.getParentPtr();
! 			if( !act_mod_ptr) global_vars.err << "Internal error: ZERO pointer after aspect mapping in act_part.getParentPtr\n";
  			ASSERT( act_mod_ptr);
  			std::string act_mod_name = act_mod_ptr->getName();
--- 659,668 ----
  			// the aspect this part is member of is the act_part.getAspectPtr() one !!!
  			const AspectRep * act_aspect_rep = act_part.getContainerAspectPtr();
! 			if ( !act_aspect_rep) global_vars.err << MSG_ERROR << "Internal error: ZERO pointer after aspect mapping in act_part.getContainerAspectPtr.\n";				// there an exception was thrown
  			ASSERT( act_aspect_rep);
  			std::string act_asp_name = act_aspect_rep->getName();
  
  			const ModelRep * act_mod_ptr = act_part.getParentPtr();
! 			if( !act_mod_ptr) global_vars.err << MSG_ERROR << "Internal error: ZERO pointer after aspect mapping in act_part.getParentPtr\n";
  			ASSERT( act_mod_ptr);
  			std::string act_mod_name = act_mod_ptr->getName();
***************
*** 691,695 ****
  					act_part.getFCOPtr()->getMyRegistry()->setValueByPath( regPath, regVal);
  				} catch( ...) {
! 					global_vars.err << "Internal error: Exception during registry related write operation.\n";
  				}
  			}
--- 691,695 ----
  					act_part.getFCOPtr()->getMyRegistry()->setValueByPath( regPath, regVal);
  				} catch( ...) {
! 					global_vars.err << MSG_ERROR << "Internal error: Exception during registry related write operation.\n";
  				}
  			}
***************
*** 721,729 ****
  						act_part.getFCOPtr()->getMyRegistry()->setValueByPath( regPath, regVal);
  					} catch(...) {
! 						global_vars.err << "Internal error: Exception during registry related write operation.\n";
  					}
  				}
  				else // not found
! 					global_vars.err << "Error: User selected aspect not found on sheet! Aspect \"" << act_asp_name << "\" Model \"" << act_mod_name << "\" Role \"" << act_role_name << "\" Selected aspect name: \"" << (LPCTSTR) selected_kind_aspect_name << "\"\n";
  			}
  			if ( ( act_part.getFCOPtr()->getMyKind() == Any::MODEL || act_part.getFCOPtr()->getMyKind() == Any::REF) && selected_kind_aspect_name == "N/A")
--- 721,729 ----
  						act_part.getFCOPtr()->getMyRegistry()->setValueByPath( regPath, regVal);
  					} catch(...) {
! 						global_vars.err << MSG_ERROR << "Internal error: Exception during registry related write operation.\n";
  					}
  				}
  				else // not found
! 					global_vars.err << MSG_ERROR << "Error: User selected aspect not found on sheet! Aspect \"" << act_asp_name << "\" Model \"" << act_mod_name << "\" Role \"" << act_role_name << "\" Selected aspect name: \"" << (LPCTSTR) selected_kind_aspect_name << "\"\n";
  			}
  			if ( ( act_part.getFCOPtr()->getMyKind() == Any::MODEL || act_part.getFCOPtr()->getMyKind() == Any::REF) && selected_kind_aspect_name == "N/A")
***************
*** 735,741 ****
  	}
  	else if( i == 0)
! 		global_vars.err << "Note: Aspect mapping avoided. No user choice needed to be made.\n";
  	else 
! 		global_vars.err << "Note: Aspect mapping cancelled. Some data may not have been written back to registry.\n";
  	delete theAspectDlg;
  	return true;
--- 735,741 ----
  	}
  	else if( i == 0)
! 		global_vars.err << MSG_INFO << "Note: Aspect mapping avoided. No user choice needed to be made.\n";
  	else 
! 		global_vars.err << MSG_INFO << "Note: Aspect mapping cancelled. Some data may not have been written back to registry.\n";
  	delete theAspectDlg;
  	return true;
***************
*** 838,842 ****
  				mmm += (*it_cons1)->doDump();
  				if ( last_name != "" && last_name == (*it_cons1)->getName())
! 					global_vars.err << "Error: Duplicate global constraint name found \"" << (*it_cons1)->getName() << "\"\n";
  				last_name = (*it_cons1)->getName();
  			}
--- 838,842 ----
  				mmm += (*it_cons1)->doDump();
  				if ( last_name != "" && last_name == (*it_cons1)->getName())
! 					global_vars.err << MSG_ERROR << "Error: Duplicate global constraint name found \"" << (*it_cons1)->getPtr() << "\"\n";
  				last_name = (*it_cons1)->getName();
  			}
***************
*** 857,861 ****
  			mmm += (*it_cons2)->doDump();
  			if ( last_name != "" && last_name == (*it_cons2)->getName())
! 				global_vars.err << "Error: Duplicate constraint function name found \"" << (*it_cons2)->getName() << "\"\n";
  			last_name = (*it_cons2)->getName();
  		}
--- 857,861 ----
  			mmm += (*it_cons2)->doDump();
  			if ( last_name != "" && last_name == (*it_cons2)->getName())
! 				global_vars.err << MSG_ERROR << "Error: Duplicate constraint function name found \"" << (*it_cons2)->getPtr() << "\"\n";
  			last_name = (*it_cons2)->getName();
  		}
***************
*** 879,883 ****
  				mmm += (*it)->doDumpAttr("");
  				if ( last_name != "" && last_name == (*it)->getName())
! 					global_vars.err << "Error: Duplicate global attribute name found \"" << (*it)->getName() << "\"\n";
  				last_name = (*it)->getName();
  			}
--- 879,883 ----
  				mmm += (*it)->doDumpAttr("");
  				if ( last_name != "" && last_name == (*it)->getName())
! 					global_vars.err << MSG_ERROR << "Error: Duplicate global attribute name found \"" << (*it)->getPtr() << "\"\n";
  				last_name = (*it)->getName();
  			}
***************
*** 901,907 ****
  				this_name = (*it_b)->getName();
  				if (last_name != "" && last_name == this_name)
! 					global_vars.err << "Error: Duplicate atom name found \"" << this_name << "\"\n";
  				else if (already_dumped[ this_name])
! 					global_vars.err << "Error: Duplicate fco name found \"" << this_name << "\"\n";
  
  				already_dumped[ this_name] = true;
--- 901,907 ----
  				this_name = (*it_b)->getName();
  				if (last_name != "" && last_name == this_name)
! 					global_vars.err << MSG_ERROR << "Error: Duplicate atom name found \"" << this_name << "\"\n";
  				else if (already_dumped[ this_name])
! 					global_vars.err << MSG_ERROR << "Error: Duplicate fco name found \"" << this_name << "\"\n";
  
  				already_dumped[ this_name] = true;
***************
*** 928,934 ****
  				this_name = (*it_c)->getName();
  				if ( last_name != "" && last_name == this_name)
! 					global_vars.err << "Error: Duplicate set name found \"" << this_name << "\"\n";
  				else if (already_dumped[ this_name])
! 					global_vars.err << "Error: Duplicate fco name found \"" << this_name << "\"\n";
  
  				already_dumped[ this_name] = true;
--- 928,934 ----
  				this_name = (*it_c)->getName();
  				if ( last_name != "" && last_name == this_name)
! 					global_vars.err << MSG_ERROR << "Error: Duplicate set name found \"" << this_name << "\"\n";
  				else if (already_dumped[ this_name])
! 					global_vars.err << MSG_ERROR << "Error: Duplicate fco name found \"" << this_name << "\"\n";
  
  				already_dumped[ this_name] = true;
***************
*** 955,961 ****
  				this_name = (*it_cn)->getName();
  				if ( last_name != "" && last_name == this_name)
! 					global_vars.err << "Error: Duplicate connection name found \"" << this_name << "\"\n";
  				else if (already_dumped[ this_name])
! 					global_vars.err << "Error: Duplicate fco name found \"" << this_name << "\"\n";
  
  				already_dumped[ this_name] = true;
--- 955,961 ----
  				this_name = (*it_cn)->getName();
  				if ( last_name != "" && last_name == this_name)
! 					global_vars.err << MSG_ERROR << "Error: Duplicate connection name found \"" << this_name << "\"\n";
  				else if (already_dumped[ this_name])
! 					global_vars.err << MSG_ERROR << "Error: Duplicate fco name found \"" << this_name << "\"\n";
  
  				already_dumped[ this_name] = true;
***************
*** 1083,1087 ****
  	if (m_rootFolder.isEmpty())
  	{
! 		global_vars.err << "CHECK: RootFolder is empty.\n";
  		return false;
  	}
--- 1083,1087 ----
  	if (m_rootFolder.isEmpty())
  	{
! 		global_vars.err << MSG_ERROR << "CHECK: RootFolder is empty.\n";
  		return false;
  	}
***************
*** 1098,1102 ****
  		if ((*it6)->isEmpty())
  		{
! 			global_vars.err << "CHECK: Folder \"" << (*it6)->getName() << "\" is empty.\n"; 
  			res = false; 
  		}
--- 1098,1102 ----
  		if ((*it6)->isEmpty())
  		{
! 			global_vars.err << MSG_ERROR << "CHECK: Folder \"" << (*it6)->getPtr() << "\" is empty.\n"; 
  			res = false; 
  		}
***************
*** 1115,1119 ****
  		{
  			res = false;
! 			global_vars.err << "CHECK: \"" << (*it)->getName() << "\" local scope attribute not owned by any FCO.\n";
  		}
  	}
--- 1115,1119 ----
  		{
  			res = false;
! 			global_vars.err << MSG_ERROR << "CHECK: \"" << (*it)->getPtr() << "\" local scope attribute not owned by any FCO.\n";
  		}
  	}
***************
*** 1132,1136 ****
  		if (!(*it0)->isAbstract()) 
  		{ 
! 			global_vars.err << "CHECK: FCO \"" << (*it0)->getName() << "\" should be abstract.\n";
  			res = false; 
  		}
--- 1132,1136 ----
  		if (!(*it0)->isAbstract()) 
  		{ 
! 			global_vars.err << MSG_ERROR << "CHECK: FCO \"" << (*it0)->getPtr() << "\" should be abstract.\n";
  			res = false; 
  		}
***************
*** 1204,1208 ****
  		if (!(*it5)->checkNotEmpty())
  		{
! 			global_vars.err << "CHECK: Reference \"" << (*it5)->getName() << "\" is not referring to any fco.\n";
  			res = false;
  		}
--- 1204,1208 ----
  		if (!(*it5)->checkNotEmpty())
  		{
! 			global_vars.err << MSG_WARNING << "CHECK: Reference \"" << (*it5)->getPtr() << "\" is not referring to any fco.\n";
  			res = false;
  		}
***************
*** 1403,1407 ****
  			if ( m_aspectList[i]->getPriority() == 0)
  			{
! 				global_vars.err << "Internal error: aspect \"" << m_aspectList[i]->getName() << "\" has 0 priority value set after the dialog. Reset to 999.\n";
  				m_aspectList[i]->setPriority( 999);
  			}
--- 1403,1407 ----
  			if ( m_aspectList[i]->getPriority() == 0)
  			{
! 				global_vars.err << MSG_ERROR << "Internal error: aspect \"" << m_aspectList[i]->getName() << "\" has 0 priority value set after the dialog. Reset to 999.\n";
  				m_aspectList[i]->setPriority( 999);
  			}
***************
*** 1495,1499 ****
  			else {
  				if (multip < 0) {
! 					global_vars.err << "Error: Multiplicity is negative: " << contextDesc << "\n";
  				}
  				//orexpr.Format("(%s = %d)", target, multip);
--- 1495,1499 ----
  			else {
  				if (multip < 0) {
! 					global_vars.err << MSG_ERROR << "Error: Multiplicity is negative: " << contextDesc << "\n";
  				}
  				//orexpr.Format("(%s = %d)", target, multip);
***************
*** 1518,1522 ****
  			else {
  				if (multipmin < 0) {
! 					global_vars.err << "Error: Minimum multiplicity is negative: " << contextDesc << "\n";
  				}
  				if (multipmin > 0) {
--- 1518,1522 ----
  			else {
  				if (multipmin < 0) {
! 					global_vars.err << MSG_ERROR << "Error: Minimum multiplicity is negative: " << contextDesc << "\n";
  				}
  				if (multipmin > 0) {
***************
*** 1545,1552 ****
  				andexpr2 += ")";
  				if (multipmax < 0) {
! 					global_vars.err << "Error: Maximum multiplicity is negative: " << contextDesc << "\n";
  				}
  				if (multipmax < multipmin) {
! 					global_vars.err << "Error: Minimum multiplicity > Maximum multiplicity : " << contextDesc << "\n";
  				}
  			}
--- 1545,1552 ----
  				andexpr2 += ")";
  				if (multipmax < 0) {
! 					global_vars.err << MSG_ERROR << "Error: Maximum multiplicity is negative: " << contextDesc << "\n";
  				}
  				if (multipmax < multipmin) {
! 					global_vars.err << MSG_ERROR << "Error: Minimum multiplicity > Maximum multiplicity : " << contextDesc << "\n";
  				}
  			}
***************
*** 1641,1645 ****
  #endif
  	}	catch (...)	{
! 		global_vars.err << "Exception caught! Using default filenames.\n";
  	}
  	return 1;
--- 1641,1645 ----
  #endif
  	}	catch (...)	{
! 		global_vars.err << MSG_ERROR << "Exception caught! Using default filenames.\n";
  	}
  	return 1;

Index: FCO.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/FCO.cpp,v
retrieving revision 1.9
retrieving revision 1.10
diff -C2 -d -r1.9 -r1.10
*** FCO.cpp	16 Jul 2004 22:39:07 -0000	1.9
--- FCO.cpp	30 Jul 2004 00:10:23 -0000	1.10
***************
*** 29,34 ****
  
  
! FCO::FCO( BON::FCO& ptr)
  	: Any( ptr)
  	, m_isAbstract( false)
  	, m_bAttrIsHotspotEnabled( true)
--- 29,35 ----
  
  
! FCO::FCO( BON::FCO& ptr, BON::FCO& resp_ptr)
  	: Any( ptr)
+ 	, m_respPointer( resp_ptr)
  	, m_isAbstract( false)
  	, m_bAttrIsHotspotEnabled( true)
***************
*** 70,73 ****
--- 71,101 ----
  }
  
+ 
+ std::string FCO::getName() const
+ {
+ 	if( m_respPointer)
+ 	{
+ 		return m_respPointer->getName();
+ 	}
+ 	else
+ 	{
+ 		return m_ptr->getName();
+ 	}
+ }
+ 
+ 
+ std::string FCO::getDispName() const
+ {
+ 	if( m_respPointer) // not a plain fco, it has its resppointer set
+ 	{
+ 		return "";
+ 	}
+ 	else
+ 	{
+ 		return m_sAttrDispName;
+ 	}
+ }
+ 
+ 
  void FCO::initAttributes()
  {
***************
*** 275,284 ****
  
  
- /*virtual*/ std::string FCO::getDispName() const
- {
- 	return m_sAttrDispName;
- }
- 
- 
  bool FCO::isAbstract() const
  {
--- 303,306 ----
***************
*** 383,387 ****
  	}
  	if (!same_kind) 
! 		global_vars.err << "ERROR: \"" << getName() << "\" fco has another kind of ancestor or descendant.\n";
  	return same_kind;
  }
--- 405,409 ----
  	}
  	if (!same_kind) 
! 		global_vars.err << MSG_ERROR << m_ptr << " fco has another kind of ancestor or descendant.\n";
  	return same_kind;
  }
***************
*** 460,467 ****
  	else 
  	{
! 		global_vars.err << "CHECK: " << (*jt)->getName() <<
  			" base class is two times in direct inheritance " <<
  			" relation with the derived class " <<
! 			getName() << "\n";
  	}
  }
--- 482,489 ----
  	else 
  	{
! 		global_vars.err << MSG_WARNING << "CHECK: " << (*jt)->getPtr() <<
  			" base class is two times in direct inheritance " <<
  			" relation with the derived class " <<
! 			m_ptr << "\n";
  	}
  }
***************
*** 574,578 ****
  		m_initialAttributeList.push_back( attr);
  	else 
! 		global_vars.err << attr->getName() << " attribute owned by " << getName() << " twice\n";
  }
  
--- 596,600 ----
  		m_initialAttributeList.push_back( attr);
  	else 
! 		global_vars.err << MSG_ERROR << attr->getPtr() << " attribute owned by " << m_ptr << " twice\n";
  }
  
***************
*** 624,628 ****
  			mmm += (*it)->doDumpAttr( getName());
  			if ( last_name != "" && last_name == (*it)->getName())
! 				global_vars.err << "Error: Duplicate attribute name " << (*it)->getName() << " found for " << getName() << "\n";
  			last_name = (*it)->getName();
  		}
--- 646,650 ----
  			mmm += (*it)->doDumpAttr( getName());
  			if ( last_name != "" && last_name == (*it)->getName())
! 				global_vars.err << MSG_ERROR << "Duplicate attribute name " << (*it)->getPtr() << " found for " << m_ptr << "\n";
  			last_name = (*it)->getName();
  		}
***************
*** 816,820 ****
  				//if (prefPair.GetSize() == 2) {
  				if (prefPair.size() == 2) {
! 					global_vars.err << "Warning: Deprecated general preferences format for " << getName() << "\nValid format:\n\t<prefname1> = <value1>\n\t<prefname2> = <value2>\n\t...\n";
  				}
  			}
--- 838,842 ----
  				//if (prefPair.GetSize() == 2) {
  				if (prefPair.size() == 2) {
! 					global_vars.err << MSG_WARNING << "Warning: Deprecated general preferences format for " << m_ptr << ".\n" << MSG_NORMAL << "Valid format:\n\t<prefname1> = <value1>\n\t<prefname2> = <value2>\n\t...\n";
  				}
  			}
***************
*** 838,843 ****
  		}
  		if(berr) {
! 			global_vars.err << "Invalid general preferences specification for " << getName() 
! 				<< "\nValid format:\n\t<prefname1> = <value1>\n\t<prefname2> = <value2>\n\t...\n";
  		}
  	}
--- 860,865 ----
  		}
  		if(berr) {
! 			global_vars.err << MSG_ERROR << "Invalid general preferences specification for " << m_ptr << ".\n"
! 				<< MSG_NORMAL << "Valid format:\n\t<prefname1> = <value1>\n\t<prefname2> = <value2>\n\t...\n";
  		}
  	}

Index: FCO.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/FCO.h,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** FCO.h	16 Jul 2004 22:39:07 -0000	1.4
--- FCO.h	30 Jul 2004 00:10:23 -0000	1.5
***************
*** 52,60 ****
  
  public:
! 	FCO( BON::FCO& ptr);
  	virtual ~FCO(); 
  	virtual KIND_TYPE getMyKind() const = 0;
  
  	/*virtual*/ void initAttributes();
  	/*virtual*/ std::string getDispName() const;
  
--- 52,61 ----
  
  public:
! 	FCO( BON::FCO& ptr, BON::FCO& resp_ptr);
  	virtual ~FCO(); 
  	virtual KIND_TYPE getMyKind() const = 0;
  
  	/*virtual*/ void initAttributes();
+ 	/*virtual*/ std::string getName() const;
  	/*virtual*/ std::string getDispName() const;
  
***************
*** 146,149 ****
--- 147,156 ----
  
  protected:
+ 	/**
+ 	 * This pointer is in charge of the name, 
+ 	 * may point to an FCO or an Equivalence operator
+ 	 */
+ 	BON::FCO m_respPointer;
+ 	
  	// the IsAbstract attribute value
  	bool m_isAbstract;

Index: FcoRep.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/FcoRep.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** FcoRep.h	4 Dec 2003 16:45:27 -0000	1.1
--- FcoRep.h	30 Jul 2004 00:10:23 -0000	1.2
***************
*** 5,16 ****
  #include "FCO.h"
  
! /** Represents an Atom kind in a model. */
  class FcoRep : public FCO 
  {
  public:
  
! 	FcoRep( BON::FCO& ptr): FCO( ptr) { }
! 	Any::KIND_TYPE getMyKind() const { return Any::FCO_REP; }
! 	std::string doDump() { return ""; }
  
  private: // forbiding copy
--- 5,19 ----
  #include "FCO.h"
  
! /** Represents an FCO kind in a model. */
  class FcoRep : public FCO 
  {
  public:
  
! 	FcoRep( BON::FCO& ptr, BON::FCO& resp_ptr) 
! 		: FCO( ptr, resp_ptr) 
! 	{ }
! 
! 	/*virtual*/ std::string doDump() { return ""; }
! 	inline Any::KIND_TYPE getMyKind() const { return Any::FCO_REP; }
  
  private: // forbiding copy

Index: FolderRep.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/FolderRep.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** FolderRep.cpp	16 Jul 2004 22:39:07 -0000	1.7
--- FolderRep.cpp	30 Jul 2004 00:10:23 -0000	1.8
***************
*** 35,52 ****
  std::string FolderRep::getName() const
  {
  	if (m_respPointer == BON::FCO())
  	{
! 		global_vars.err << "Null pointer error in getFolderName\n";
  		return std::string("Null pointer error in getFolderName");
  	}
  	return m_respPointer->getName();
  }
  
- 
  std::string FolderRep::getDispName() const
  {
  	if (m_respPointer == BON::FCO())
  	{
! 		global_vars.err << "Null pointer error in getDispName for aspect \"" + getName() + "\"\n";
  		return std::string("Null pointer error in getDispName for folder \"") + getName() + "\"";
  	}
--- 35,65 ----
  std::string FolderRep::getName() const
  {
+ #if(0)
  	if (m_respPointer == BON::FCO())
  	{
! 		global_vars.err << MSG_ERROR << "Null pointer error in getFolderName\n";
  		return std::string("Null pointer error in getFolderName");
  	}
  	return m_respPointer->getName();
+ #else // new way
+ 	if( m_respPointer)
+ 	{
+ 		return m_respPointer->getName();
+ 	}
+ 	else
+ 	{
+ 		return m_ptr->getName();
+ 	}
+ #endif
  }
  
  std::string FolderRep::getDispName() const
  {
+ #if(0)
+ 	//what about a reform such that dispname is allowed only for lonely aspects (which are not equivalent with any other)
+ 	//<!> 
  	if (m_respPointer == BON::FCO())
  	{
! 		global_vars.err << MSG_ERROR << "Null pointer error in getDispName for aspect \"" + getName() + "\"\n";
  		return std::string("Null pointer error in getDispName for folder \"") + getName() + "\"";
  	}
***************
*** 55,58 ****
--- 68,81 ----
  		return m_ptr->getAttribute( Any::DisplayedName_str)->getStringValue();//<!> modified from m_respPointer
  	}
+ #else // new way
+ 	if( m_respPointer) // not a plain folder, it has its resppointer set
+ 	{
+ 		return "";
+ 	}
+ 	else
+ 	{
+ 		return m_ptr->getAttribute( Any::DisplayedName_str)->getStringValue();
+ 	}
+ #endif
  }
  
***************
*** 66,70 ****
  	}
  	else
! 		global_vars.err << "CHECK: "<< ptr->getName() << " contained by folder " << getName() << " twice. Disregarded.\n";
  }
  
--- 89,93 ----
  	}
  	else
! 		global_vars.err << MSG_ERROR << "CHECK: "<< ptr->getPtr() << " contained by folder " << m_ptr << " twice. Disregarded.\n";
  }
  
***************
*** 100,104 ****
  	}
  	else
! 		global_vars.err << "CHECK: Folder " << ptr->getName() << " contained by folder "  << getName() << " twice. Disregarded.\n";
  }
  
--- 123,127 ----
  	}
  	else
! 		global_vars.err << MSG_ERROR << "CHECK: Folder " << ptr->getPtr() << " contained by folder "  << m_ptr << " twice. Disregarded.\n";
  }
  
***************
*** 204,208 ****
  			card = m_fcoCardList[i];
  		else
! 			global_vars.err << "Error in folder \"" << getName() << "\" element constraint generation: not enough cardList members\n";
  
  		std::string str_expr_end;
--- 227,231 ----
  			card = m_fcoCardList[i];
  		else
! 			global_vars.err << MSG_ERROR << "Error in folder \"" << m_ptr << "\" element constraint generation: not enough cardList members\n";
  
  		std::string str_expr_end;
***************
*** 212,216 ****
  		if ( ! valid_constr )
  		{
! 			global_vars.err << "Ignoring invalid cardinality string in folder part: " + ptr->getName() + "\nString: " + card;
  		}
  
--- 235,239 ----
  		if ( ! valid_constr )
  		{
! 			global_vars.err << MSG_ERROR << "Ignoring invalid cardinality string in folder part: " << ptr->getPtr() + ". String: " << card << "\n";
  		}
  

Index: ModelRep.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/ModelRep.cpp,v
retrieving revision 1.12
retrieving revision 1.13
diff -C2 -d -r1.12 -r1.13
*** ModelRep.cpp	16 Jun 2004 18:56:52 -0000	1.12
--- ModelRep.cpp	30 Jul 2004 00:10:23 -0000	1.13
***************
*** 16,26 ****
  
  
! ModelRep::ModelRep( BON::FCO& ptr)
! 	: FCO( ptr)
  	, m_initialRoleMap()
  	, m_finalRoleMap()
  	, m_initialAspectList()
  	, m_finalAspectList()
! { 
  }
  
--- 16,26 ----
  
  
! ModelRep::ModelRep( BON::FCO& ptr, BON::FCO& resp_ptr)
! 	: FCO( ptr, resp_ptr)
  	, m_initialRoleMap()
  	, m_finalRoleMap()
  	, m_initialAspectList()
  	, m_finalAspectList()
! {
  }
  
***************
*** 46,50 ****
  		series.push_back( role);
  	else 
! 		global_vars.err << "Error: Found duplicate role \"" << role.getSmartRoleName() << "\" in model \"" << getName() << "\"\n";
  }
  
--- 46,50 ----
  		series.push_back( role);
  	else 
! 		global_vars.err << MSG_ERROR << "Error: Found duplicate role \"" << role.getSmartRoleName() << "\" in model \"" << m_ptr << "\"\n";
  }
  
***************
*** 129,133 ****
  		m_initialAspectList.push_back(asp_ptr);
  	else
! 		global_vars.err << "CHECK: Model \"" << getName() << "\" has aspect \"" << asp_ptr->getName() << "\" associated twice\n";
  }
  
--- 129,133 ----
  		m_initialAspectList.push_back(asp_ptr);
  	else
! 		global_vars.err << MSG_ERROR << "CHECK: Model \"" << m_ptr << "\" has aspect \"" << asp_ptr->getPtr() << "\" associated twice\n";
  }
  
***************
*** 153,157 ****
  		series.push_back( role);
  	else 
! 		global_vars.err << "Error: Found duplicate final role \"" << role.getSmartRoleName() << "\" in model \"" << getName() << "\"\n";
  }
  
--- 153,157 ----
  		series.push_back( role);
  	else 
! 		global_vars.err << MSG_ERROR << "Error: Found duplicate final role \"" << role.getSmartRoleName() << "\" in model \"" << m_ptr << "\"\n";
  }
  
***************
*** 231,237 ****
  	{
  		if ( (*model_it)->getMyKind() != Any::MODEL)
! 			global_vars.err << "Error: nonmodel kind as model descendant\n";
  		ModelRep * mod_desc_ptr = dynamic_cast<ModelRep*>(*model_it);
! 		if (!mod_desc_ptr) global_vars.err << "Error: model descendant badly casted to model\n";
  					
  		RoleMap_Iterator fco_it( m_initialRoleMap.begin());
--- 231,237 ----
  	{
  		if ( (*model_it)->getMyKind() != Any::MODEL)
! 			global_vars.err << MSG_ERROR << "Error: nonmodel kind " << (*model_it)->getPtr() << " as model descendant\n";
  		ModelRep * mod_desc_ptr = dynamic_cast<ModelRep*>(*model_it);
! 		if (!mod_desc_ptr) global_vars.err << MSG_ERROR << "Error: model descendant badly casted to model\n";
  					
  		RoleMap_Iterator fco_it( m_initialRoleMap.begin());
***************
*** 515,521 ****
  				{
  					RoleRep &r = *jt;
! 					global_vars.err << "Duplicate role line found: " << role_line << "\n" 
  						<< role_name << " of kind " << kind_name
! 						<< " in model " << model_name << ". Details of the 2nd role following: "
  						<< (r.isInheritedRole()?"":"Not ") << "Inherited Role, "
  						<< (r.isLongForm()?"":"Not ") << "Long form, "
--- 515,522 ----
  				{
  					RoleRep &r = *jt;
! 					global_vars.err << MSG_ERROR << "Duplicate role line found: " << role_line << "\n" 
! 						<< MSG_NORMAL
  						<< role_name << " of kind " << kind_name
! 						<< " in model " << m_ptr << ". Details of the 2nd role following: "
  						<< (r.isInheritedRole()?"":"Not ") << "Inherited Role, "
  						<< (r.isLongForm()?"":"Not ") << "Long form, "
***************
*** 616,620 ****
  					part_lines_to_dump.end()) // found
  				{
! 					global_vars.err << "Duplicate part found. Not dumping twice: " << part_line << "\n";
  					if (!error) 
  					{
--- 617,621 ----
  					part_lines_to_dump.end()) // found
  				{
! 					global_vars.err << MSG_ERROR << "Duplicate part found. Not dumping twice: " << part_line << "\n";
  					if (!error) 
  					{
***************
*** 650,654 ****
  	if (!no) 
  	{
! 		global_vars.err << "Warning: Model \"" << getName() << "\" has no aspect defined.\n";
  		AspectRep * asp = s->createAspectRep( BON::FCO(), BON::FCO());
  		this->addFinalAspect( asp);
--- 651,655 ----
  	if (!no) 
  	{
! 		global_vars.err << MSG_WARNING << "Warning: Model \"" << m_ptr << "\" has no aspect defined.\n";
  		AspectRep * asp = s->createAspectRep( BON::FCO(), BON::FCO());
  		this->addFinalAspect( asp);
***************
*** 682,686 ****
  				if ( ! valid_constr )
  				{
! 					global_vars.err << "Ignoring invalid cardinality string in role: " + r.getSmartRoleName() + "\nString: " + card;
  				}
  
--- 683,687 ----
  				if ( ! valid_constr )
  				{
! 					global_vars.err << MSG_ERROR << "Ignoring invalid cardinality string in role: " << r.getSmartRoleName() << ". String: " << card << ".\n";
  				}
  

Index: ModelRep.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/ModelRep.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -C2 -d -r1.6 -r1.7
*** ModelRep.h	14 May 2004 00:51:34 -0000	1.6
--- ModelRep.h	30 Jul 2004 00:10:23 -0000	1.7
***************
*** 34,42 ****
  
  public:
! 	ModelRep( BON::FCO& ptr);
  	~ModelRep();
  
  	inline Any::KIND_TYPE getMyKind() const { return Any::MODEL; }
- 	std::string doDump();
  
  	// Roles
--- 34,43 ----
  
  public:
! 	ModelRep( BON::FCO& ptr, BON::FCO& resp_ptr);
  	~ModelRep();
  
+ 	/*virtual*/ std::string doDump();
+ 
  	inline Any::KIND_TYPE getMyKind() const { return Any::MODEL; }
  
  	// Roles

Index: ReferenceRep.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/ReferenceRep.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** ReferenceRep.cpp	16 Jun 2004 18:56:52 -0000	1.10
--- ReferenceRep.cpp	30 Jul 2004 00:10:23 -0000	1.11
***************
*** 13,18 ****
  
  
! ReferenceRep::ReferenceRep( BON::FCO& ptr)
! 	: FCO( ptr)
  	, m_initialReferees()
  	, m_finalReferees()
--- 13,18 ----
  
  
! ReferenceRep::ReferenceRep( BON::FCO& ptr, BON::FCO& resp_ptr)
! 	: FCO( ptr, resp_ptr)
  	, m_initialReferees()
  	, m_finalReferees()
***************
*** 36,40 ****
  		m_initialReferees.push_back( refd );
  	else
! 		global_vars.err << "Warning: Reference \"" << getName() << "\" referring twice to fco: \"" << refd->getName() << "\". Disregarded.\n";
  }
  
--- 36,40 ----
  		m_initialReferees.push_back( refd );
  	else
! 		global_vars.err << MSG_WARNING << "Warning: Reference \"" << m_ptr << "\" referring twice to fco: \"" << refd->getPtr() << "\". Disregarded.\n";
  }
  
***************
*** 221,225 ****
  		{
  			if ( (*refnce_it)->getMyKind() != Any::REF)
! 				global_vars.err << "Non-Reference descendant: " << (*refnce_it)->getName() <<" of reference: " << getName() <<"\n";
  			else
  			{
--- 221,225 ----
  		{
  			if ( (*refnce_it)->getMyKind() != Any::REF)
! 				global_vars.err << "Non-Reference descendant: " << (*refnce_it)->getPtr() <<" of reference: " << m_ptr <<"\n";
  			else
  			{

Index: ReferenceRep.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/ReferenceRep.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** ReferenceRep.h	26 Apr 2004 17:13:38 -0000	1.5
--- ReferenceRep.h	30 Jul 2004 00:10:23 -0000	1.6
***************
*** 15,22 ****
  
  public:
! 	ReferenceRep( BON::FCO& ptr);
  	~ReferenceRep(); 
! 	/*virtual*/ Any::KIND_TYPE getMyKind() const { return Any::REF; }
  	/*virtual*/ std::string doDump();
  
  	void addInitialReferee( FCO * refd );
--- 15,24 ----
  
  public:
! 	ReferenceRep( BON::FCO& ptr, BON::FCO& resp_ptr);
  	~ReferenceRep(); 
! 	
  	/*virtual*/ std::string doDump();
+ 
+ 	inline Any::KIND_TYPE getMyKind() const { return Any::REF; }
  
  	void addInitialReferee( FCO * refd );

Index: RoleRep.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/RoleRep.cpp,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** RoleRep.cpp	8 Mar 2004 22:22:59 -0000	1.4
--- RoleRep.cpp	30 Jul 2004 00:10:23 -0000	1.5
***************
*** 8,12 ****
  
  #include "fstream"
- extern std::ofstream err;
  
  
--- 8,11 ----

Index: SetRep.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/SetRep.cpp,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** SetRep.cpp	16 Jun 2004 18:56:52 -0000	1.5
--- SetRep.cpp	30 Jul 2004 00:10:23 -0000	1.6
***************
*** 12,15 ****
--- 12,30 ----
  extern Globals global_vars;
  
+ SetRep::SetRep( BON::FCO& ptr, BON::FCO& resp_ptr)
+ 	: FCO( ptr, resp_ptr)
+ { 
+ 	m_memberList.clear();
+ 	m_memberMap.clear();
+ }
+ 
+ 
+ SetRep::~SetRep()
+ { 
+ 	m_memberList.clear();
+ 	m_memberMap.clear();
+ }
+ 
+ 
  void SetRep::addMember( FCO * member) 
  { 
***************
*** 20,24 ****
  		m_memberList.push_back( member); 
  	else
! 		global_vars.err << "Set member " << member->getName() << " is twice in set " << getName() << "\n";
  } 
  
--- 35,39 ----
  		m_memberList.push_back( member); 
  	else
! 		global_vars.err << MSG_ERROR << "Set member " << member->getPtr() << " is twice in set " << m_ptr << "\n";
  } 
  
***************
*** 109,113 ****
  						{
  							if ( (*sets_iterator)->getMyKind() != Any::SET) 
! 								global_vars.err << "Non-set descendant: " << (*sets_iterator)->getName() <<" of set: " << getName() <<"\n";
  							else
  							{
--- 124,128 ----
  						{
  							if ( (*sets_iterator)->getMyKind() != Any::SET) 
! 								global_vars.err << MSG_ERROR << "Non-set descendant: " << (*sets_iterator)->getPtr() <<" of set: " << m_ptr <<"\n";
  							else
  							{
***************
*** 214,218 ****
  			if ( !member_ptr->checkIsPartOfFinal() && !member_ptr->isAbstract())
  			{
! 				global_vars.err << "CHECK: set member " << member_ptr->getName() << " in set \"" << getName() << "\" is not contained by any model.\n";
  				res = false;
  			}
--- 229,233 ----
  			if ( !member_ptr->checkIsPartOfFinal() && !member_ptr->isAbstract())
  			{
! 				global_vars.err << MSG_ERROR << "CHECK: set member " << member_ptr->getPtr() << " in set \"" << m_ptr << "\" is not contained by any model.\n";
  				res = false;
  			}

Index: SetRep.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/SetRep.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** SetRep.h	4 Dec 2003 16:45:27 -0000	1.1
--- SetRep.h	30 Jul 2004 00:10:23 -0000	1.2
***************
*** 25,39 ****
  	typedef SetMembersMap::iterator SetMembersMap_Iterator;
  
! public: // types
! 	SetRep( BON::FCO& ptr): FCO( ptr) 
! 	{ 
! 		m_memberList.clear();
! 		m_memberMap.clear();
! 	}
! 	~SetRep()
! 	{ 
! 		m_memberList.clear();
! 		m_memberMap.clear();
! 	}
  
  	inline Any::KIND_TYPE getMyKind() const { return Any::SET; }
--- 25,33 ----
  	typedef SetMembersMap::iterator SetMembersMap_Iterator;
  
! public:
! 	SetRep( BON::FCO& ptr, BON::FCO& resp_ptr);
! 	~SetRep();
! 
! 	/*virtual*/ std::string doDump();
  
  	inline Any::KIND_TYPE getMyKind() const { return Any::SET; }
***************
*** 49,53 ****
  	void addSetMemberRole( const ModelRep * model, const RoleRep::RoleRepSeries & role_series);
  
- 	std::string doDump();
  
  	bool checkSetElements();
--- 43,46 ----

Index: Sheet.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/Sheet.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** Sheet.cpp	20 Jul 2004 10:48:35 -0000	1.7
--- Sheet.cpp	30 Jul 2004 00:10:23 -0000	1.8
***************
*** 167,171 ****
  	}
  	else 
! 		global_vars.err << "Error: Inheritance problems\n";
  
  	return ret_val;	
--- 167,171 ----
  	}
  	else 
! 		global_vars.err << MSG_ERROR << "Error: Inheritance problems\n";
  
  	return ret_val;	
***************
*** 236,242 ****
  
  
! FcoRep* Sheet::createFcoRep( BON::FCO& ptr)
  {
! 	FcoRep * ll = new FcoRep( ptr);
  	addFcoRep( ll);
  	return ll;
--- 236,242 ----
  
  
! FcoRep* Sheet::createFcoRep( BON::FCO& ptr, BON::FCO& resp_ptr)
  {
! 	FcoRep * ll = new FcoRep( ptr, resp_ptr);
  	addFcoRep( ll);
  	return ll;
***************
*** 244,250 ****
  
  
! AtomRep* Sheet::createAtomRep( BON::FCO& ptr)
  {
! 	AtomRep * ll = new AtomRep( ptr);
  	addAtomRep( ll);
  	return ll;
--- 244,250 ----
  
  
! AtomRep* Sheet::createAtomRep( BON::FCO& ptr, BON::FCO& resp_ptr)
  {
! 	AtomRep * ll = new AtomRep( ptr, resp_ptr);
  	addAtomRep( ll);
  	return ll;
***************
*** 252,258 ****
  
  
! ModelRep* Sheet::createModelRep( BON::FCO& ptr)
  {
! 	ModelRep * ll = new ModelRep( ptr);
  	addModelRep( ll);
  	return ll;
--- 252,258 ----
  
  
! ModelRep* Sheet::createModelRep( BON::FCO& ptr, BON::FCO& resp_ptr)
  {
! 	ModelRep * ll = new ModelRep( ptr, resp_ptr);
  	addModelRep( ll);
  	return ll;
***************
*** 260,266 ****
  
  
! ConnectionRep* Sheet::createConnectionRep( BON::FCO& ptr)
  {
! 	ConnectionRep * ll = new ConnectionRep( ptr);
  	addConnectionRep( ll);
  	return ll;
--- 260,266 ----
  
  
! ConnectionRep* Sheet::createConnectionRep( BON::FCO& ptr, BON::FCO& resp_ptr)
  {
! 	ConnectionRep * ll = new ConnectionRep( ptr, resp_ptr);
  	addConnectionRep( ll);
  	return ll;
***************
*** 268,274 ****
  
  
! SetRep* Sheet::createSetRep( BON::FCO& ptr)
  {
! 	SetRep * ll = new SetRep( ptr);
  	addSetRep( ll);
  	return ll;
--- 268,274 ----
  
  
! SetRep* Sheet::createSetRep( BON::FCO& ptr, BON::FCO& resp_ptr)
  {
! 	SetRep * ll = new SetRep( ptr, resp_ptr);
  	addSetRep( ll);
  	return ll;
***************
*** 276,282 ****
  
  
! ReferenceRep* Sheet::createReferenceRep( BON::FCO& ptr)
  {
! 	ReferenceRep * ll = new ReferenceRep( ptr);
  	addReferenceRep( ll);
  	return ll;
--- 276,282 ----
  
  
! ReferenceRep* Sheet::createReferenceRep( BON::FCO& ptr, BON::FCO& resp_ptr)
  {
! 	ReferenceRep * ll = new ReferenceRep( ptr, resp_ptr);
  	addReferenceRep( ll);
  	return ll;
***************
*** 631,635 ****
  	{
  		TO("Inheritance loop found in model!!! Please correct it!\n");
! 		global_vars.err << "Inheritance loop found in model!!! Please correct it!\n";
  		//std::cout << "Circle\n";
  		// based on that if in a clique there is no node with outgoing degree of 0
--- 631,635 ----
  	{
  		TO("Inheritance loop found in model!!! Please correct it!\n");
! 		global_vars.err << MSG_ERROR << "Inheritance loop found in model!!! Please correct it!\n";
  		//std::cout << "Circle\n";
  		// based on that if in a clique there is no node with outgoing degree of 0
***************
*** 667,671 ****
  					FCO * fco2 = node_vec[child];
  					TO("Loop between " + fco1->getName() + " and " + fco2->getName());
! 					global_vars.err << "Loop between " << fco1->getName() << " and " << fco2->getName() << "\n";
  					//std::cout << "Loop between " << ancestors[child][k] << " and " << child << "\n";
  					loop = true;
--- 667,671 ----
  					FCO * fco2 = node_vec[child];
  					TO("Loop between " + fco1->getName() + " and " + fco2->getName());
! 					global_vars.err << MSG_ERROR << "Loop between " << fco1 << " and " << fco2 << "\n";
  					//std::cout << "Loop between " << ancestors[child][k] << " and " << child << "\n";
  					loop = true;

Index: Sheet.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/Sheet.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -C2 -d -r1.5 -r1.6
*** Sheet.h	20 Jul 2004 10:48:35 -0000	1.5
--- Sheet.h	30 Jul 2004 00:10:23 -0000	1.6
***************
*** 38,47 ****
  	void setProject( BON::Project& project );
  
! 	FcoRep* createFcoRep( BON::FCO& ptr);
! 	AtomRep* createAtomRep( BON::FCO& ptr);
! 	ModelRep* createModelRep( BON::FCO& ptr);
! 	ConnectionRep* createConnectionRep( BON::FCO& ptr);
! 	SetRep* createSetRep( BON::FCO& ptr);
! 	ReferenceRep* createReferenceRep( BON::FCO& ptr);
  	FolderRep* createFolderRep( BON::FCO& ptr, BON::FCO& resp_ptr);
  
--- 38,47 ----
  	void setProject( BON::Project& project );
  
! 	FcoRep* createFcoRep( BON::FCO& ptr, BON::FCO& resp_ptr);
! 	AtomRep* createAtomRep( BON::FCO& ptr, BON::FCO& resp_ptr);
! 	ModelRep* createModelRep( BON::FCO& ptr, BON::FCO& resp_ptr);
! 	ConnectionRep* createConnectionRep( BON::FCO& ptr, BON::FCO& resp_ptr);
! 	SetRep* createSetRep( BON::FCO& ptr, BON::FCO& resp_ptr);
! 	ReferenceRep* createReferenceRep( BON::FCO& ptr, BON::FCO& resp_ptr);
  	FolderRep* createFolderRep( BON::FCO& ptr, BON::FCO& resp_ptr);
  



More information about the GME-commit mailing list