[GME-commit] GMESRC/Paradigms/MetaGME/BonExtension BON2Component.cpp,1.16,1.17 BON2Component.h,1.8,1.9 entity.h,1.3,1.4 relation.h,1.1,1.2

gme-commit at list.isis.vanderbilt.edu gme-commit at list.isis.vanderbilt.edu
Fri Jul 16 18:39:09 CDT 2004


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

Modified Files:
	BON2Component.cpp BON2Component.h entity.h relation.h 
Log Message:
New isAbstract, isInRootFolder handling.


CVS User: zolmol

Index: BON2Component.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/BonExtension/BON2Component.cpp,v
retrieving revision 1.16
retrieving revision 1.17
diff -C2 -d -r1.16 -r1.17
*** BON2Component.cpp	16 Jun 2004 18:35:00 -0000	1.16
--- BON2Component.cpp	16 Jul 2004 22:39:06 -0000	1.17
***************
*** 51,55 ****
  		finalize( m_project );
  		m_project = NULL;
! 	} 
  }
  
--- 51,55 ----
  		finalize( m_project );
  		m_project = NULL;
! 	}
  }
[...1000 lines suppressed...]
  		CHECK();
  
+ 		m_entities.sort();
+ 		m_equivRelations.sort();
+ 
  		selectFromSameAspectsFolders();
  		proxyFinder();
***************
*** 1473,1477 ****
  	global_vars.dmp_h.close();
  	global_vars.dmp_s.close();
! 	AfxMessageBox( "BonExtension completed.", MB_ICONINFORMATION);
  }
  
--- 1729,1733 ----
  	global_vars.dmp_h.close();
  	global_vars.dmp_s.close();
! 	AfxMessageBox( "Bonextension completed.", MB_ICONINFORMATION);
  }
  

Index: BON2Component.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/BonExtension/BON2Component.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** BON2Component.h	11 Mar 2004 15:53:19 -0000	1.8
--- BON2Component.h	16 Jul 2004 22:39:06 -0000	1.9
***************
*** 65,87 ****
  	typedef Relations::const_iterator Relation_Const_Iterator;
  
! 	typedef Object ObjPointer;
  	typedef std::map< ObjPointer, ObjPointer> RealMap;
  	typedef std::map< ObjPointer, ObjPointer>::iterator RealMap_Iterator;
  
  private: // members
  	std::string m_projectName;
  
  	Entities m_entities;
! 	Entities m_toBeDeletedEntities;
  	Relations m_relations;
  	RealMap m_realObj;
  
  private: // methods
  	void initMembers( Project& project);
  
  	void scanProject( Project& project);
- 	void scanSubFolders( const std::set<Folder>& subfolders, std::set<Folder>& result);
  	void scanModels( const Model& model, const Folder& parent);
  	void scanSubModels( const Model& model);
  	void entityBuilder( const Model& model, const Folder& parent);
  
--- 65,95 ----
  	typedef Relations::const_iterator Relation_Const_Iterator;
  
! 	typedef FCO ObjPointer;
  	typedef std::map< ObjPointer, ObjPointer> RealMap;
  	typedef std::map< ObjPointer, ObjPointer>::iterator RealMap_Iterator;
+ 	typedef std::map< ObjPointer, std::set < ObjPointer > > EquivBag;
+ 	typedef std::map< ObjPointer, std::set < ObjPointer > >::iterator EquivBag_Iterator;
  
  private: // members
  	std::string m_projectName;
  
+ 	// pass it later to the sheet and null it before the Component reaches its destructor!!!
+ 	Folder m_projectRootFolder;
+ 
  	Entities m_entities;
! 	//Entities m_toBeDeletedEntities;
  	Relations m_relations;
+ 	Relations m_equivRelations;
  	RealMap m_realObj;
  
+ 	EquivBag m_equivBag;
+ 
  private: // methods
  	void initMembers( Project& project);
  
  	void scanProject( Project& project);
  	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);
  
***************
*** 90,96 ****
  	void equivalenceFinder();
  	void removeProxiesAndEquiv();
! 	int isProxy( ObjPointer ptr);
! 	void operandSearchAndReplace( ObjPointer proxy_obj, ObjPointer real_obj);
! 	Entity entitySearch( ObjPointer p_ptr);
  	bool checkForProxies();
  	
--- 98,107 ----
  	void equivalenceFinder();
  	void removeProxiesAndEquiv();
! 	int isProxy( const ObjPointer& ptr);
! 	void operandSearchAndReplace( const std::vector<ObjPointer>& proxy_obj, const ObjPointer& real_obj);
! 	void operandSearchAndReplace( const ObjPointer& proxy_obj, const ObjPointer& real_obj);
! 	void insertIntoEquivBag( const ObjPointer& obj1, const ObjPointer& obj2);
! 	void markEquivEntities();
! 	Entity entitySearch( const ObjPointer& p_ptr);
  	bool checkForProxies();
  	
***************
*** 99,106 ****
  
  private:
- 	// pass it later to the sheet and null it before the Component reaches its constructor!!!
- 	Folder 	m_projectRootFolder;
  	Sheet * m_sheet;
! 	void createSheet();// TODO: modify this method to create your specific object
  	bool populateSheet( const std::string& name);
  	bool executeSheet();
--- 110,115 ----
  
  private:
  	Sheet * m_sheet;
! 	void createSheet(); // TODO: modify this method to create your specific object
  	bool populateSheet( const std::string& name);
  	bool executeSheet();

Index: entity.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/BonExtension/entity.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** entity.h	2 Mar 2004 19:21:10 -0000	1.3
--- entity.h	16 Jul 2004 22:39:06 -0000	1.4
***************
*** 8,13 ****
  
  public:
! 	explicit Entity( const BON::Folder& parent, const BON::Object& p, const BON::Object& p2 = BON::Object())
! 		: m_pointer( p), m_respPointer( p2), m_parentFolder( parent) { }
  
  	Entity( const Entity & operand )
--- 8,13 ----
  
  public:
! 	explicit Entity( const BON::Folder& parent, const BON::FCO& p, const BON::FCO& p2 = BON::FCO())
! 		: m_pointer( p), m_respPointer( p2), m_parentFolder( parent), m_deleted( false) { }
  
  	Entity( const Entity & operand )
***************
*** 15,18 ****
--- 15,19 ----
  		, m_respPointer( operand.m_respPointer)
  		, m_parentFolder( operand.m_parentFolder)
+ 		, m_deleted( operand.m_deleted)
  	{ }
  
***************
*** 24,27 ****
--- 25,29 ----
  		m_respPointer = operand.m_respPointer;
  		m_parentFolder = operand.m_parentFolder;
+ 		m_deleted = operand.m_deleted;
  		
  		return *this;
***************
*** 30,34 ****
  	~Entity() { }
  
! 	bool operator==( const Entity& peer) { return (m_pointer == peer.m_pointer) && (m_respPointer == peer.m_respPointer) && (m_parentFolder == peer.m_parentFolder); }
  	bool operator!=( const Entity& peer) { return !(*this==peer); }
  	bool operator<( const Entity& peer) const
--- 32,36 ----
  	~Entity() { }
  
! 	bool operator==( const Entity& peer) { return (m_pointer == peer.m_pointer) && (m_respPointer == peer.m_respPointer) && (m_parentFolder == peer.m_parentFolder) && (m_deleted == peer.m_deleted); }
  	bool operator!=( const Entity& peer) { return !(*this==peer); }
  	bool operator<( const Entity& peer) const
***************
*** 39,53 ****
  	}
  
! 	BON::Object getPointer() const { return m_pointer; }
! 	BON::Object getRespPointer() const { return m_respPointer; }
  	BON::Folder getParentFolder() const { return m_parentFolder; }
! 	void setPointer( const BON::Object& p) { m_pointer = p; }
! 	void setRespPointer( const BON::Object& r_p) { m_respPointer = r_p; }
  	void setParentFolder( const BON::Folder& pf) { m_parentFolder = pf; }
  
  private:
! 	BON::Object m_pointer;
! 	BON::Object m_respPointer;
  	BON::Folder m_parentFolder;
  };
  
--- 41,58 ----
  	}
  
! 	BON::FCO getPointer() const { return m_pointer; }
! 	BON::FCO getRespPointer() const { return m_respPointer; }
  	BON::Folder getParentFolder() const { return m_parentFolder; }
! 	void setPointer( const BON::FCO& p) { m_pointer = p; }
! 	void setRespPointer( const BON::FCO& r_p) { m_respPointer = r_p; }
  	void setParentFolder( const BON::Folder& pf) { m_parentFolder = pf; }
+ 	bool isDeleted() const { return m_deleted; }
+ 	void deleted( const bool val) { m_deleted = val; }
  
  private:
! 	BON::FCO m_pointer;
! 	BON::FCO m_respPointer;
  	BON::Folder m_parentFolder;
+ 	bool m_deleted;
  };
  

Index: relation.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/BonExtension/relation.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** relation.h	4 Dec 2003 16:45:26 -0000	1.1
--- relation.h	16 Jul 2004 22:39:06 -0000	1.2
***************
*** 93,116 ****
  
  	inline OPER_TYPE getOperation() const { return m_operation; }
! 	inline const BON::Object getOp1() const { return m_operand1; }
! 	inline const BON::Object getOp2() const { return m_operand2; }
! 	inline const BON::Object getOp3() const { return m_operand3; }
! 	inline const BON::Object getOp4() const { return m_operand4; }
! 	inline const BON::Object getOp5() const { return m_operand5; }
  
  	inline void setOperation( OPER_TYPE oper_t) { m_operation = oper_t; }
! 	inline void setOp1(const BON::Object op_1) { m_operand1 = op_1; }
! 	inline void setOp2(const BON::Object op_2) { m_operand2 = op_2; }
! 	inline void setOp3(const BON::Object op_3) { m_operand3 = op_3; }
! 	inline void setOp4(const BON::Object op_4) { m_operand4 = op_4; }
! 	inline void setOp5(const BON::Object op_5) { m_operand5 = op_5; }
  
  	explicit Relation( 
  		OPER_TYPE oper_t, 
! 		const BON::Object operd1 = BON::Object(),
! 		const BON::Object operd2 = BON::Object(),
! 		const BON::Object operd3 = BON::Object(),
! 		const BON::Object operd4 = BON::Object(),
! 		const BON::Object operd5 = BON::Object())
  		:	m_operation( oper_t),
  		m_operand1( operd1),
--- 93,116 ----
  
  	inline OPER_TYPE getOperation() const { return m_operation; }
! 	inline const BON::FCO getOp1() const { return m_operand1; }
! 	inline const BON::FCO getOp2() const { return m_operand2; }
! 	inline const BON::FCO getOp3() const { return m_operand3; }
! 	inline const BON::FCO getOp4() const { return m_operand4; }
! 	inline const BON::FCO getOp5() const { return m_operand5; }
  
  	inline void setOperation( OPER_TYPE oper_t) { m_operation = oper_t; }
! 	inline void setOp1(const BON::FCO op_1) { m_operand1 = op_1; }
! 	inline void setOp2(const BON::FCO op_2) { m_operand2 = op_2; }
! 	inline void setOp3(const BON::FCO op_3) { m_operand3 = op_3; }
! 	inline void setOp4(const BON::FCO op_4) { m_operand4 = op_4; }
! 	inline void setOp5(const BON::FCO op_5) { m_operand5 = op_5; }
  
  	explicit Relation( 
  		OPER_TYPE oper_t, 
! 		const BON::FCO operd1 = BON::FCO(),
! 		const BON::FCO operd2 = BON::FCO(),
! 		const BON::FCO operd3 = BON::FCO(),
! 		const BON::FCO operd4 = BON::FCO(),
! 		const BON::FCO operd5 = BON::FCO())
  		:	m_operation( oper_t),
  		m_operand1( operd1),
***************
*** 130,134 ****
  		m_operand5( operand.m_operand5) { };
  	
!   const Relation & operator=(const Relation & operand)
  	{
  		if ( this == &operand) return *this;
--- 130,134 ----
  		m_operand5( operand.m_operand5) { };
  	
! 	const Relation & operator=(const Relation & operand)
  	{
  		if ( this == &operand) return *this;
***************
*** 151,161 ****
  			(m_operand5 == peer.m_operand5);
  	}
  private:
  	OPER_TYPE m_operation;
!   BON::Object m_operand1;
!   BON::Object m_operand2;
!   BON::Object m_operand3;
! 	BON::Object m_operand4;
! 	BON::Object m_operand5;
  };
  
--- 151,175 ----
  			(m_operand5 == peer.m_operand5);
  	}
+ 
+ 	bool operator<( const Relation& peer) const
+ 	{
+ 		if ( m_operation != peer.m_operation) return m_operation < peer.m_operation;
+ 		
+ 		int k;
+ 		k = m_operand1->getName().compare( peer.m_operand1->getName());
+ 		if( k != 0) return k < 0;
+ 		k = m_operand2->getName().compare( peer.m_operand2->getName());
+ 		if( k != 0) return k < 0;
+ 		k = m_operand3->getName().compare( peer.m_operand3->getName());
+ 		return ( k < 0);
+ 	}
+ 
  private:
  	OPER_TYPE m_operation;
! 	BON::FCO m_operand1;
! 	BON::FCO m_operand2;
! 	BON::FCO m_operand3;
! 	BON::FCO m_operand4;
! 	BON::FCO m_operand5;
  };
  



More information about the GME-commit mailing list