[Mobies-commit] [commit] r4187 - UDM/trunk/src/UdmBase
ksmyth at redhat3.isis.vanderbilt.edu
ksmyth at redhat3.isis.vanderbilt.edu
Thu Aug 29 16:06:14 CDT 2013
Author: ksmyth
Date: Thu Aug 29 16:06:14 2013
New Revision: 4187
Log:
Put multiple associations for assocation classes in xsd
Modified:
UDM/trunk/src/UdmBase/DTDGen.cpp
Modified: UDM/trunk/src/UdmBase/DTDGen.cpp
==============================================================================
--- UDM/trunk/src/UdmBase/DTDGen.cpp Tue Aug 27 13:33:07 2013 (r4186)
+++ UDM/trunk/src/UdmBase/DTDGen.cpp Thu Aug 29 16:06:14 2013 (r4187)
@@ -733,14 +733,11 @@
associations = Uml::AncestorAssociationTargetRoles(c);
set< ::Uml::Class> ccl = ::Uml::AncestorClasses(c);
- ::Uml::Association ass;
+ set< ::Uml::Association> assocations;
for(set< ::Uml::Class>::iterator iii = ccl.begin(); iii != ccl.end(); iii++) {
if(::Uml::Association(iii->association())) {
- if(ass) {
- throw udm_exception("Class " + c.getPath2("::", false) + " has multiple associations");
- }
- else ass = iii->association();
+ assocations.insert(iii->association());
}
}
@@ -895,8 +892,8 @@
++j;
}
- if(ass) {
- set< ::Uml::AssociationRole> rs(ass.roles());
+ for(set< ::Uml::Association>::iterator assocIt = assocations.begin(); assocIt != assocations.end(); assocIt++) {
+ set< ::Uml::AssociationRole> rs(assocIt->roles());
set< ::Uml::AssociationRole>::iterator j = rs.begin();
while( j != rs.end() ) {
name = ::Uml::MakeRoleName(*j);
More information about the Mobies-commit
mailing list