[Mobies-commit] [commit] r3834 - GReAT/trunk/Tools/MetaGME2UMX

ksmyth at redhat1.isis.vanderbilt.edu ksmyth at redhat1.isis.vanderbilt.edu
Mon Aug 22 16:30:55 CDT 2011


Author: ksmyth
Date: Mon Aug 22 16:30:55 2011
New Revision: 3834

Log:
Fix refport parent generation bug where references to superclasses of port containers wouldnt be properly detected

Modified:
   GReAT/trunk/Tools/MetaGME2UMX/MetaGME2UML_2.cpp

Modified: GReAT/trunk/Tools/MetaGME2UMX/MetaGME2UML_2.cpp
==============================================================================
--- GReAT/trunk/Tools/MetaGME2UMX/MetaGME2UML_2.cpp	Fri Aug 19 11:18:32 2011	(r3833)
+++ GReAT/trunk/Tools/MetaGME2UMX/MetaGME2UML_2.cpp	Mon Aug 22 16:30:55 2011	(r3834)
@@ -1300,8 +1300,16 @@
 	std::copy(port_container_refs_.begin(), port_container_refs_.end(), set_inserter(port_container_refs_base));
 	std::copy(port_containers.begin(), port_containers.end(), set_inserter(port_container_refs_base));
 
+	std::set<std::set<MetaGME::BaseFCO> > port_container_supertypes_;
+	trans(port_container_refs_base, port_container_supertypes_, GetSelfAndSupertypes);
+	std::set<MetaGME::BaseFCO> port_container_supertypes = flatten_set(port_container_supertypes_);
+#ifdef _DEBUG
+	std::vector<std::string> port_container_supertypes_str;
+	std::transform(port_container_supertypes.begin(), port_container_supertypes.end(), std::back_inserter(port_container_supertypes_str), std::ptr_fun(ExName));
+#endif
+
 	std::set<std::set<MetaGME::ReferTo> > port_container_refs_refertos;
-	trans(port_container_refs_base, port_container_refs_refertos, std::mem_fun_ref(&MetaGME::BaseModel::srcReferTo));
+	trans(port_container_supertypes, port_container_refs_refertos, GetAllConnectionsFunctor(std::mem_fun_ref(&MetaGME::BaseModel::srcReferTo)));
 	std::set<MetaGME::ReferTo> port_container_refs_refertos_ = flatten_set(port_container_refs_refertos);
 	std::set<MetaGME::BaseReference> baserefport_containers;
 	trans(port_container_refs_refertos_, baserefport_containers, std::mem_fun_ref(&MetaGME::ReferTo::srcReferTo_end));


More information about the Mobies-commit mailing list