[GME-commit] GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep
AspectRep.cpp,1.11,1.12 AspectRep.h,1.8,1.9
ConnectionRep.cpp,1.7,1.8 Dumper.cpp,1.24,1.25 Dumper.h,1.7,1.8
FCO.cpp,1.10,1.11
gme-commit at list.isis.vanderbilt.edu
gme-commit at list.isis.vanderbilt.edu
Thu Aug 19 14:29:55 CDT 2004
Update of /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep
In directory braindrain:/tmp/cvs-serv6427/Rep
Modified Files:
AspectRep.cpp AspectRep.h ConnectionRep.cpp Dumper.cpp
Dumper.h FCO.cpp
Log Message:
Notification (warning) about similar aspect names, improved handling.
Attribute values are valid (thus considered) from now on if status >= HERE ( status might be DERIVED1, DERIVED2, ...)
Silent mode for the name selection dialog box.
CVS User: zolmol
Index: AspectRep.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/AspectRep.cpp,v
retrieving revision 1.11
retrieving revision 1.12
diff -C2 -d -r1.11 -r1.12
*** AspectRep.cpp 30 Jul 2004 00:10:23 -0000 1.11
--- AspectRep.cpp 19 Aug 2004 18:29:52 -0000 1.12
***************
*** 34,37 ****
--- 34,43 ----
+ bool AspNamePriorityComp::operator()( const Type& p1, const Type& p2) const
+ {
+ return p1.second < p2.second;
+ }
+
+
AspectRep::AspectRep( BON::FCO& ptr, BON::FCO& resp_ptr)
: Any( ptr)
Index: AspectRep.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/AspectRep.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -C2 -d -r1.8 -r1.9
*** AspectRep.h 30 Jul 2004 00:10:23 -0000 1.8
--- AspectRep.h 19 Aug 2004 18:29:52 -0000 1.9
***************
*** 26,29 ****
--- 26,36 ----
};
+ class AspNamePriorityComp
+ {
+ public:
+ typedef std::pair< std::string, int> Type;
+ bool operator() ( const Type& p1, const Type& p2) const;
+ };
+
class AspectRep : public Any
{
Index: ConnectionRep.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/ConnectionRep.cpp,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** ConnectionRep.cpp 30 Jul 2004 00:10:23 -0000 1.7
--- ConnectionRep.cpp 19 Aug 2004 18:29:52 -0000 1.8
***************
*** 45,49 ****
bool isabs = true; // if any of the set values is false it will change
bool isabs_set = false;
! if( m_ptr->getAttribute( IsAbstract_str)->getStatus() == BON::AS_Here)
{
isabs = isabs && m_ptr->getAttribute( IsAbstract_str)->getBooleanValue();
--- 45,49 ----
bool isabs = true; // if any of the set values is false it will change
bool isabs_set = false;
! if( m_ptr->getAttribute( IsAbstract_str)->getStatus() >= BON::AS_Here)
{
isabs = isabs && m_ptr->getAttribute( IsAbstract_str)->getBooleanValue();
***************
*** 54,58 ****
// general pref
bool isgenpref_set = false;
! if( m_ptr->getAttribute( GeneralPreferences_str)->getStatus() == BON::AS_Here)
{
m_sAttrGenPref = m_ptr->getAttribute( GeneralPreferences_str)->getStringValue();
--- 54,58 ----
// general pref
bool isgenpref_set = false;
! if( m_ptr->getAttribute( GeneralPreferences_str)->getStatus() >= BON::AS_Here)
{
m_sAttrGenPref = m_ptr->getAttribute( GeneralPreferences_str)->getStringValue();
***************
*** 62,66 ****
// displayed name
bool isdispname_set = false;
! if( m_ptr->getAttribute( DisplayedName_str)->getStatus() == BON::AS_Here)
{
m_sAttrDispName = m_ptr->getAttribute( DisplayedName_str)->getStringValue();
--- 62,66 ----
// displayed name
bool isdispname_set = false;
! if( m_ptr->getAttribute( DisplayedName_str)->getStatus() >= BON::AS_Here)
{
m_sAttrDispName = m_ptr->getAttribute( DisplayedName_str)->getStringValue();
***************
*** 70,74 ****
bool iscolor_set = false;
! //if( m_ptr->getAttribute( Color_str)->getStatus() == BON::AS_Here)
{
m_sAttrColor = m_ptr->getAttribute( Color_str)->getStringValue();
--- 70,74 ----
bool iscolor_set = false;
! //if( m_ptr->getAttribute( Color_str)->getStatus() >= BON::AS_Here)
{
m_sAttrColor = m_ptr->getAttribute( Color_str)->getStringValue();
***************
*** 76,80 ****
}
bool isconnlineend_set = false;
! //if( m_ptr->getAttribute( ConnLineEnd_str)->getStatus() == BON::AS_Here)
{
m_sAttrConnLineEnd = m_ptr->getAttribute( ConnLineEnd_str)->getStringValue();
--- 76,80 ----
}
bool isconnlineend_set = false;
! //if( m_ptr->getAttribute( ConnLineEnd_str)->getStatus() >= BON::AS_Here)
{
m_sAttrConnLineEnd = m_ptr->getAttribute( ConnLineEnd_str)->getStringValue();
***************
*** 82,86 ****
}
bool isconnlinestart_set = false;
! //if( m_ptr->getAttribute( ConnLineStart_str)->getStatus() == BON::AS_Here)
{
m_sAttrConnLineStart = m_ptr->getAttribute( ConnLineStart_str)->getStringValue();
--- 82,86 ----
}
bool isconnlinestart_set = false;
! //if( m_ptr->getAttribute( ConnLineStart_str)->getStatus() >= BON::AS_Here)
{
m_sAttrConnLineStart = m_ptr->getAttribute( ConnLineStart_str)->getStringValue();
***************
*** 89,93 ****
bool isconnlinetype_set = false;
! //if( m_ptr->getAttribute( ConnLineType_str)->getStatus() == BON::AS_Here)
{
m_sAttrConnLineType = m_ptr->getAttribute( ConnLineType_str)->getStringValue();
--- 89,93 ----
bool isconnlinetype_set = false;
! //if( m_ptr->getAttribute( ConnLineType_str)->getStatus() >= BON::AS_Here)
{
m_sAttrConnLineType = m_ptr->getAttribute( ConnLineType_str)->getStringValue();
***************
*** 96,100 ****
bool issrclabel1_set = false;
! if( m_ptr->getAttribute( SrcAttrLabel1_str)->getStatus() == BON::AS_Here)
{
m_sAttrSrcAttrLabel1 = m_ptr->getAttribute( SrcAttrLabel1_str)->getStringValue();
--- 96,100 ----
bool issrclabel1_set = false;
! if( m_ptr->getAttribute( SrcAttrLabel1_str)->getStatus() >= BON::AS_Here)
{
m_sAttrSrcAttrLabel1 = m_ptr->getAttribute( SrcAttrLabel1_str)->getStringValue();
***************
*** 102,106 ****
}
bool issrclabel2_set = false;
! if( m_ptr->getAttribute( SrcAttrLabel2_str)->getStatus() == BON::AS_Here)
{
m_sAttrSrcAttrLabel2 = m_ptr->getAttribute( SrcAttrLabel2_str)->getStringValue();
--- 102,106 ----
}
bool issrclabel2_set = false;
! if( m_ptr->getAttribute( SrcAttrLabel2_str)->getStatus() >= BON::AS_Here)
{
m_sAttrSrcAttrLabel2 = m_ptr->getAttribute( SrcAttrLabel2_str)->getStringValue();
***************
*** 108,112 ****
}
bool isdstlabel1_set = false;
! if( m_ptr->getAttribute( DstAttrLabel1_str)->getStatus() == BON::AS_Here)
{
m_sAttrDstAttrLabel1 = m_ptr->getAttribute( DstAttrLabel1_str)->getStringValue();
--- 108,112 ----
}
bool isdstlabel1_set = false;
! if( m_ptr->getAttribute( DstAttrLabel1_str)->getStatus() >= BON::AS_Here)
{
m_sAttrDstAttrLabel1 = m_ptr->getAttribute( DstAttrLabel1_str)->getStringValue();
***************
*** 114,118 ****
}
bool isdstlabel2_set = false;
! if( m_ptr->getAttribute( DstAttrLabel2_str)->getStatus() == BON::AS_Here)
{
m_sAttrDstAttrLabel2 = m_ptr->getAttribute( DstAttrLabel2_str)->getStringValue();
--- 114,118 ----
}
bool isdstlabel2_set = false;
! if( m_ptr->getAttribute( DstAttrLabel2_str)->getStatus() >= BON::AS_Here)
{
m_sAttrDstAttrLabel2 = m_ptr->getAttribute( DstAttrLabel2_str)->getStringValue();
***************
*** 131,135 ****
// isAbstract: true if all objects are true
//m_isAbstract = m_isAbstract && (*it)->getAttribute( IsAbstract_str)->getBooleanValue();
! if( (*it)->getAttribute( IsAbstract_str)->getStatus() == BON::AS_Here) // if set by the user
{
isabs = isabs && (*it)->getAttribute( IsAbstract_str)->getBooleanValue();
--- 131,135 ----
// isAbstract: true if all objects are true
//m_isAbstract = m_isAbstract && (*it)->getAttribute( IsAbstract_str)->getBooleanValue();
! if( (*it)->getAttribute( IsAbstract_str)->getStatus() >= BON::AS_Here) // if set by the user
{
isabs = isabs && (*it)->getAttribute( IsAbstract_str)->getBooleanValue();
***************
*** 139,143 ****
#if(1)
// general pref
! if( !isgenpref_set && (*it)->getAttribute( GeneralPreferences_str)->getStatus() == BON::AS_Here)
{
m_sAttrGenPref = (*it)->getAttribute( GeneralPreferences_str)->getStringValue();
--- 139,143 ----
#if(1)
// general pref
! if( !isgenpref_set && (*it)->getAttribute( GeneralPreferences_str)->getStatus() >= BON::AS_Here)
{
m_sAttrGenPref = (*it)->getAttribute( GeneralPreferences_str)->getStringValue();
***************
*** 147,151 ****
// displayed name
! if( !isdispname_set && (*it)->getAttribute( DisplayedName_str)->getStatus() == BON::AS_Here)
{
m_sAttrDispName = (*it)->getAttribute( DisplayedName_str)->getStringValue();
--- 147,151 ----
// displayed name
! if( !isdispname_set && (*it)->getAttribute( DisplayedName_str)->getStatus() >= BON::AS_Here)
{
m_sAttrDispName = (*it)->getAttribute( DisplayedName_str)->getStringValue();
***************
*** 157,161 ****
if ((*it)->getObjectMeta().name().find("Proxy") != std::string::npos) continue;
! if( !iscolor_set && (*it)->getAttribute( Color_str)->getStatus() == BON::AS_Here)
{
m_sAttrColor = (*it)->getAttribute( Color_str)->getStringValue();
--- 157,161 ----
if ((*it)->getObjectMeta().name().find("Proxy") != std::string::npos) continue;
! if( !iscolor_set && (*it)->getAttribute( Color_str)->getStatus() >= BON::AS_Here)
{
m_sAttrColor = (*it)->getAttribute( Color_str)->getStringValue();
***************
*** 163,167 ****
}
! if( !isconnlineend_set && (*it)->getAttribute( ConnLineEnd_str)->getStatus() == BON::AS_Here)
{
m_sAttrConnLineEnd = (*it)->getAttribute( ConnLineEnd_str)->getStringValue();
--- 163,167 ----
}
! if( !isconnlineend_set && (*it)->getAttribute( ConnLineEnd_str)->getStatus() >= BON::AS_Here)
{
m_sAttrConnLineEnd = (*it)->getAttribute( ConnLineEnd_str)->getStringValue();
***************
*** 169,178 ****
}
! if( !isconnlinestart_set && (*it)->getAttribute( ConnLineStart_str)->getStatus() == BON::AS_Here)
{
m_sAttrConnLineStart = (*it)->getAttribute( ConnLineStart_str)->getStringValue();
isconnlinestart_set = true;
}
! if( !isconnlinetype_set && (*it)->getAttribute( ConnLineType_str)->getStatus() == BON::AS_Here)
{
m_sAttrConnLineType = (*it)->getAttribute( ConnLineType_str)->getStringValue();
--- 169,178 ----
}
! if( !isconnlinestart_set && (*it)->getAttribute( ConnLineStart_str)->getStatus() >= BON::AS_Here)
{
m_sAttrConnLineStart = (*it)->getAttribute( ConnLineStart_str)->getStringValue();
isconnlinestart_set = true;
}
! if( !isconnlinetype_set && (*it)->getAttribute( ConnLineType_str)->getStatus() >= BON::AS_Here)
{
m_sAttrConnLineType = (*it)->getAttribute( ConnLineType_str)->getStringValue();
***************
*** 180,199 ****
}
! if( !issrclabel1_set && (*it)->getAttribute( SrcAttrLabel1_str)->getStatus() == BON::AS_Here)
{
m_sAttrSrcAttrLabel1 = (*it)->getAttribute( SrcAttrLabel1_str)->getStringValue();
issrclabel1_set = true;
}
! if( !issrclabel2_set && (*it)->getAttribute( SrcAttrLabel2_str)->getStatus() == BON::AS_Here)
{
m_sAttrSrcAttrLabel2 = (*it)->getAttribute( SrcAttrLabel2_str)->getStringValue();
issrclabel2_set = true;
}
! if( !isdstlabel1_set && (*it)->getAttribute( DstAttrLabel1_str)->getStatus() == BON::AS_Here)
{
m_sAttrDstAttrLabel1 = (*it)->getAttribute( DstAttrLabel1_str)->getStringValue();
isdstlabel1_set = true;
}
! if( !isdstlabel2_set && (*it)->getAttribute( DstAttrLabel2_str)->getStatus() == BON::AS_Here)
{
m_sAttrDstAttrLabel2 = (*it)->getAttribute( DstAttrLabel2_str)->getStringValue();
--- 180,199 ----
}
! if( !issrclabel1_set && (*it)->getAttribute( SrcAttrLabel1_str)->getStatus() >= BON::AS_Here)
{
m_sAttrSrcAttrLabel1 = (*it)->getAttribute( SrcAttrLabel1_str)->getStringValue();
issrclabel1_set = true;
}
! if( !issrclabel2_set && (*it)->getAttribute( SrcAttrLabel2_str)->getStatus() >= BON::AS_Here)
{
m_sAttrSrcAttrLabel2 = (*it)->getAttribute( SrcAttrLabel2_str)->getStringValue();
issrclabel2_set = true;
}
! if( !isdstlabel1_set && (*it)->getAttribute( DstAttrLabel1_str)->getStatus() >= BON::AS_Here)
{
m_sAttrDstAttrLabel1 = (*it)->getAttribute( DstAttrLabel1_str)->getStringValue();
isdstlabel1_set = true;
}
! if( !isdstlabel2_set && (*it)->getAttribute( DstAttrLabel2_str)->getStatus() >= BON::AS_Here)
{
m_sAttrDstAttrLabel2 = (*it)->getAttribute( DstAttrLabel2_str)->getStringValue();
Index: Dumper.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/Dumper.cpp,v
retrieving revision 1.24
retrieving revision 1.25
diff -C2 -d -r1.24 -r1.25
*** Dumper.cpp 30 Jul 2004 00:10:23 -0000 1.24
--- Dumper.cpp 19 Aug 2004 18:29:52 -0000 1.25
***************
*** 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
--- 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 << MSG_ERROR << "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;
}
***************
*** 472,476 ****
{
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;
--- 472,476 ----
{
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;
***************
*** 547,551 ****
{
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;
--- 547,551 ----
{
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;
***************
*** 664,668 ****
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();
--- 664,668 ----
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();
***************
*** 725,729 ****
}
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")
--- 725,729 ----
}
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")
***************
*** 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();
}
--- 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 << MSG_ERROR << "Error: Duplicate constraint function name found \"" << (*it_cons2)->getPtr() << "\"\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 << MSG_ERROR << "Error: Duplicate global attribute name found \"" << (*it)->getPtr() << "\"\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 << 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;
--- 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 << 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;
--- 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 << 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;
--- 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;
***************
*** 982,988 ****
this_name = (*it_ref)->getName();
if ( last_name != "" && last_name == this_name)
! global_vars.err << "Error: Duplicate reference 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;
--- 982,988 ----
this_name = (*it_ref)->getName();
if ( last_name != "" && last_name == this_name)
! global_vars.err << MSG_ERROR << "Error: Duplicate reference 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;
***************
*** 1009,1015 ****
this_name = (*it_m)->getName();
if ( last_name != "" && last_name == this_name)
! global_vars.err << "Error: Duplicate model 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;
--- 1009,1015 ----
this_name = (*it_m)->getName();
if ( last_name != "" && last_name == this_name)
! global_vars.err << MSG_ERROR << "Error: Duplicate model 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;
***************
*** 1034,1040 ****
this_name = (*it_fd)->getName();
if ( last_name != "" && last_name == this_name)
! global_vars.err << "Error: Duplicate folder name found \"" << this_name << "\"\n";
else if (already_dumped[ this_name])
! global_vars.err << "Error: Duplicate name found \"" << this_name << "\"\n";
already_dumped[ this_name] = true;
--- 1034,1040 ----
this_name = (*it_fd)->getName();
if ( last_name != "" && last_name == this_name)
! global_vars.err << MSG_ERROR << "Error: Duplicate folder name found \"" << this_name << "\".\n";
else if (already_dumped[ this_name])
! global_vars.err << MSG_ERROR << "Error: Duplicate name found \"" << this_name << "\".\n";
already_dumped[ this_name] = true;
***************
*** 1061,1065 ****
if (already_dumped[ asp_name])
{
! global_vars.err << "Error: Duplicate name found \"" << asp_name << "\"\n";
}
}}
--- 1061,1065 ----
if (already_dumped[ asp_name])
{
! global_vars.err << MSG_ERROR << "Error: Duplicate name found \"" << asp_name << "\".\n";
}
}}
***************
*** 1292,1295 ****
--- 1292,1311 ----
+ bool Dumper::checkUniqueAspectNames()
+ {
+ std::map< std::string, AspectRep *> names;
+ for( unsigned int i = 0; i < m_aspectList.size(); ++i)
+ {
+ if( names.find( m_aspectList[i]->getName()) == names.end())
+ names[ m_aspectList[i]->getName()] = m_aspectList[i];
+ else // found duplicate names
+ global_vars.err << MSG_WARNING << "Warning: Duplicate aspect name \""
+ << m_aspectList[i]->getName() << "\" found. See objects: "
+ << m_aspectList[i]->getPtr() << " and "
+ << names.find( m_aspectList[i]->getName())->second->getPtr() << " ! Use SameAspect relation to connect them.\n";
+ }
+ return true;
+ }
+
/*
This method and aspect order selection assumes no two aspects have been defined
***************
*** 1307,1341 ****
std::vector< AspectRep * > dlg_aspects_init_order;// aspect order used by the dlg ( m_aspectList.size(), 0);
! AspectCompare asp_less_than; // sort the aspects based on the current information
! std::sort( m_aspectList.begin(), m_aspectList.end(), asp_less_than);
BON::RegistryNode rn = Sheet::m_BON_Project_Root_Folder->getRegistry()->getChild( AspectRep::m_aspectRegistryRoot + aspect_order_registry_token);
if ( rn && rn->getValue() == "valid") // fetch priority values from the Registry
{
! std::map< int, std::string > asp_order;
std::set<BON::RegistryNode> ch = rn->getChildren();
std::set<BON::RegistryNode>::iterator i = ch.begin();
for( ; i != ch.end(); ++i)
{
! std::string one_aspect( (*i)->getName()); // previously getPath used
!
! int val = (*i)->getIntegerValue();
! asp_order[ val] = one_aspect; // use a map to sort the aspects based on val
}
! //unsigned int k = 0;
! std::map< int, std::string>::iterator it = asp_order.begin();
for( ; it != asp_order.end(); ++it)
{
! std::vector<AspectRep *> asp_with_this_name = findAspectBasedOnName( it->second);
! //if ( !asp_with_this_name.empty() && k < m_aspectList.size()) // prepare for unconsistent registry
! if ( !asp_with_this_name.empty()) // prepare for unconsistent registry
! dlg_aspects_init_order.push_back( *asp_with_this_name.begin());
! //dlg_aspects_init_order.push_back( [k++] = *asp_with_this_name.begin();
}
int needed = m_aspectList.size() - dlg_aspects_init_order.size();
- //ASSERT( k <= dlg_aspects_init_order.size()); // = m_aspectList.size()
ASSERT( needed >= 0); // ASSERT if more elements then available aspects in m_aspectList
--- 1323,1352 ----
std::vector< AspectRep * > dlg_aspects_init_order;// aspect order used by the dlg ( m_aspectList.size(), 0);
! std::sort( m_aspectList.begin(), m_aspectList.end(), AspectCompare());// sort the aspects based on the current information
BON::RegistryNode rn = Sheet::m_BON_Project_Root_Folder->getRegistry()->getChild( AspectRep::m_aspectRegistryRoot + aspect_order_registry_token);
if ( rn && rn->getValue() == "valid") // fetch priority values from the Registry
{
! // for each name there is only one priority value in the registry
! // so in case of duplicate (non-equivalent, but similar) aspects the priority value
! // will be common
! std::set< AspNamePriorityComp::Type, AspNamePriorityComp> asp_order;
std::set<BON::RegistryNode> ch = rn->getChildren();
std::set<BON::RegistryNode>::iterator i = ch.begin();
for( ; i != ch.end(); ++i)
{
! asp_order.insert( AspNamePriorityComp::Type( (*i)->getName(), (*i)->getIntegerValue()));
}
! std::set< AspNamePriorityComp::Type, AspNamePriorityComp>::iterator it = asp_order.begin();
for( ; it != asp_order.end(); ++it)
{
! std::vector<AspectRep *> asp_with_this_name = findAspectBasedOnName( it->first);
! for( unsigned int l = 0; l < asp_with_this_name.size(); ++l) // size might be 0 in case of inconsistent registry
! dlg_aspects_init_order.push_back( asp_with_this_name[ l]); // set the same priority value for each similar aspect
}
int needed = m_aspectList.size() - dlg_aspects_init_order.size();
ASSERT( needed >= 0); // ASSERT if more elements then available aspects in m_aspectList
***************
*** 1352,1356 ****
if ( asp_init_it == dlg_aspects_init_order.end()) // not found, so either newly introduced aspect or the registry information has been partly deleted
{
- //dlg_aspects_init_order[ k++] = *aspvec_it;
dlg_aspects_init_order.push_back( *aspvec_it);
--needed;
--- 1363,1366 ----
***************
*** 1391,1398 ****
curr_asp->setPriority( i+1);// set priority values from 1
! std::string subtoken = "/" + curr_asp->getName();
char idx_str[32];
sprintf( idx_str, "%d", i+1);
! Sheet::m_BON_Project_Root_Folder->getRegistry()->setValueByPath( path + subtoken, idx_str);
}
--- 1401,1408 ----
curr_asp->setPriority( i+1);// set priority values from 1
! std::string subtoken = "/" + curr_asp->getName();
char idx_str[32];
sprintf( idx_str, "%d", i+1);
! Sheet::m_BON_Project_Root_Folder->getRegistry()->setValueByPath( path + subtoken, idx_str);//similar aspects will use the same priority by overwriting the values in the same regnode
}
***************
*** 1400,1408 ****
for( i = 0; i < m_aspectList.size(); ++i)
{
- ASSERT( m_aspectList[i]->getPriority() != 0);
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);
}
}
--- 1410,1418 ----
for( i = 0; i < m_aspectList.size(); ++i)
{
if ( m_aspectList[i]->getPriority() == 0)
{
! ASSERT(0);
! global_vars.err << MSG_INFO << "Internal error: aspect \"" << m_aspectList[i]->getName() << "\" has 0 priority value set after the dialog. Reset to 0x7fffffff.\n";
! m_aspectList[i]->setPriority( 0x7fffffff); // a big number
}
}
***************
*** 1410,1415 ****
}
// sort the aspects based on the current information
! AspectCompare asp_less_than2;
! std::sort( m_aspectList.begin(), m_aspectList.end(), asp_less_than2);
return true;
--- 1420,1424 ----
}
// sort the aspects based on the current information
! std::sort( m_aspectList.begin(), m_aspectList.end(), AspectCompare());
return true;
***************
*** 1423,1426 ****
--- 1432,1436 ----
findMaxOfMetaRefs();
+ checkUniqueAspectNames();
aspectOrderSel();
wait.Restore();
***************
*** 1495,1499 ****
else {
if (multip < 0) {
! global_vars.err << MSG_ERROR << "Error: Multiplicity is negative: " << contextDesc << "\n";
}
//orexpr.Format("(%s = %d)", target, multip);
--- 1505,1509 ----
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 << MSG_ERROR << "Error: Minimum multiplicity is negative: " << contextDesc << "\n";
}
if (multipmin > 0) {
--- 1528,1532 ----
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 << MSG_ERROR << "Error: Maximum multiplicity is negative: " << contextDesc << "\n";
}
if (multipmax < multipmin) {
! global_vars.err << MSG_ERROR << "Error: Minimum multiplicity > Maximum multiplicity : " << contextDesc << "\n";
}
}
--- 1555,1562 ----
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";
}
}
Index: Dumper.h
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/Dumper.h,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** Dumper.h 12 Jul 2004 22:01:09 -0000 1.7
--- Dumper.h 19 Aug 2004 18:29:52 -0000 1.8
***************
*** 43,46 ****
--- 43,47 ----
bool aspectOrderSel(); // aspect Order Selection
bool am(); // aSPECT mAPPING
+ bool checkUniqueAspectNames();
bool checkAll();
bool checkRootFolder() const;
Index: FCO.cpp
===================================================================
RCS file: /var/lib/gme/GMESRC/Paradigms/MetaGME/MetaInterpreter2004/Rep/FCO.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** FCO.cpp 30 Jul 2004 00:10:23 -0000 1.10
--- FCO.cpp 19 Aug 2004 18:29:52 -0000 1.11
***************
*** 106,110 ****
bool isabs_set = false;
//m_isAbstract = m_isAbstract && m_ptr->getAttribute( IsAbstract_str)->getBooleanValue();
! if( m_ptr->getAttribute( IsAbstract_str)->getStatus() == BON::AS_Here)
{
isabs = isabs && m_ptr->getAttribute( IsAbstract_str)->getBooleanValue();
--- 106,110 ----
bool isabs_set = false;
//m_isAbstract = m_isAbstract && m_ptr->getAttribute( IsAbstract_str)->getBooleanValue();
! if( m_ptr->getAttribute( IsAbstract_str)->getStatus() >= BON::AS_Here)
{
isabs = isabs && m_ptr->getAttribute( IsAbstract_str)->getBooleanValue();
***************
*** 114,118 ****
// general pref
bool isgenpref_set = false;
! if( m_ptr->getAttribute( GeneralPreferences_str)->getStatus() == BON::AS_Here)
{
m_sAttrGenPref = m_ptr->getAttribute( GeneralPreferences_str)->getStringValue();
--- 114,118 ----
// general pref
bool isgenpref_set = false;
! if( m_ptr->getAttribute( GeneralPreferences_str)->getStatus() >= BON::AS_Here)
{
m_sAttrGenPref = m_ptr->getAttribute( GeneralPreferences_str)->getStringValue();
***************
*** 122,126 ****
// displayed name
bool isdispname_set = false;
! if( m_ptr->getAttribute( DisplayedName_str)->getStatus() == BON::AS_Here)
{
m_sAttrDispName = m_ptr->getAttribute( DisplayedName_str)->getStringValue();
--- 122,126 ----
// displayed name
bool isdispname_set = false;
! if( m_ptr->getAttribute( DisplayedName_str)->getStatus() >= BON::AS_Here)
{
m_sAttrDispName = m_ptr->getAttribute( DisplayedName_str)->getStringValue();
***************
*** 131,135 ****
bool ishotspotenabled_set = false;
! if( m_ptr->getAttribute( IsHotspotEnabled_str)->getStatus() == BON::AS_Here)
{
m_bAttrIsHotspotEnabled = m_ptr->getAttribute( IsHotspotEnabled_str)->getBooleanValue();// def val: TRUE (dumped if FALSE)
--- 131,135 ----
bool ishotspotenabled_set = false;
! if( m_ptr->getAttribute( IsHotspotEnabled_str)->getStatus() >= BON::AS_Here)
{
m_bAttrIsHotspotEnabled = m_ptr->getAttribute( IsHotspotEnabled_str)->getBooleanValue();// def val: TRUE (dumped if FALSE)
***************
*** 139,143 ****
bool istypeshown_set = false;
! if( m_ptr->getAttribute( IsTypeShown_str)->getStatus() == BON::AS_Here)
{
m_bAttrIsTypeShown = m_ptr->getAttribute( IsTypeShown_str)->getBooleanValue(); // def val: FALSE (dumped if TRUE)
--- 139,143 ----
bool istypeshown_set = false;
! if( m_ptr->getAttribute( IsTypeShown_str)->getStatus() >= BON::AS_Here)
{
m_bAttrIsTypeShown = m_ptr->getAttribute( IsTypeShown_str)->getBooleanValue(); // def val: FALSE (dumped if TRUE)
***************
*** 146,150 ****
bool isnameenabled_set = false;
! if( m_ptr->getAttribute( IsNameEnabled_str)->getStatus() == BON::AS_Here)
{
m_bAttrIsNameEnabled = m_ptr->getAttribute( IsNameEnabled_str)->getBooleanValue(); // def val: TRUE (dumped if FALSE)
--- 146,150 ----
bool isnameenabled_set = false;
! if( m_ptr->getAttribute( IsNameEnabled_str)->getStatus() >= BON::AS_Here)
{
m_bAttrIsNameEnabled = m_ptr->getAttribute( IsNameEnabled_str)->getBooleanValue(); // def val: TRUE (dumped if FALSE)
***************
*** 153,157 ****
bool isnamepos_set = false;
! //if( m_ptr->getAttribute( NamePosition_str)->getStatus() == BON::AS_Here)
{
m_iAttrNamePosition = m_ptr->getAttribute( NamePosition_str)->getIntegerValue();// dumped anyway
--- 153,157 ----
bool isnamepos_set = false;
! //if( m_ptr->getAttribute( NamePosition_str)->getStatus() >= BON::AS_Here)
{
m_iAttrNamePosition = m_ptr->getAttribute( NamePosition_str)->getIntegerValue();// dumped anyway
***************
*** 160,164 ****
bool isnamewrapnum_set = false;
! if( m_ptr->getAttribute( NameWrapNum_str)->getStatus() == BON::AS_Here)
{
m_iAttrNameWrapNum = m_ptr->getAttribute( NameWrapNum_str)->getIntegerValue(); // dumped if not 0
--- 160,164 ----
bool isnamewrapnum_set = false;
! if( m_ptr->getAttribute( NameWrapNum_str)->getStatus() >= BON::AS_Here)
{
m_iAttrNameWrapNum = m_ptr->getAttribute( NameWrapNum_str)->getIntegerValue(); // dumped if not 0
***************
*** 167,171 ****
bool icon_set = false;
! if( m_ptr->getAttribute( Icon_str)->getStatus() == BON::AS_Here)
{
m_sAttrIcon = m_ptr->getAttribute( Icon_str)->getStringValue(); // dumped if not empty
--- 167,171 ----
bool icon_set = false;
! if( m_ptr->getAttribute( Icon_str)->getStatus() >= BON::AS_Here)
{
m_sAttrIcon = m_ptr->getAttribute( Icon_str)->getStringValue(); // dumped if not empty
***************
*** 174,178 ****
bool porticon_set = false;
! if( m_ptr->getAttribute( PortIcon_str)->getStatus() == BON::AS_Here)
{
m_sAttrPortIcon = m_ptr->getAttribute( PortIcon_str)->getStringValue();
--- 174,178 ----
bool porticon_set = false;
! if( m_ptr->getAttribute( PortIcon_str)->getStatus() >= BON::AS_Here)
{
m_sAttrPortIcon = m_ptr->getAttribute( PortIcon_str)->getStringValue();
***************
*** 181,185 ****
bool subtypeicon_set = false;
! if( m_ptr->getAttribute( SubTypeIcon_str)->getStatus() == BON::AS_Here)
{
m_sAttrSubTypeIcon = m_ptr->getAttribute( SubTypeIcon_str)->getStringValue();
--- 181,185 ----
bool subtypeicon_set = false;
! if( m_ptr->getAttribute( SubTypeIcon_str)->getStatus() >= BON::AS_Here)
{
m_sAttrSubTypeIcon = m_ptr->getAttribute( SubTypeIcon_str)->getStringValue();
***************
*** 188,192 ****
bool instanceicon_set = false;
! if( m_ptr->getAttribute( InstanceIcon_str)->getStatus() == BON::AS_Here)
{
m_sAttrInstanceIcon = m_ptr->getAttribute( InstanceIcon_str)->getStringValue();
--- 188,192 ----
bool instanceicon_set = false;
! if( m_ptr->getAttribute( InstanceIcon_str)->getStatus() >= BON::AS_Here)
{
m_sAttrInstanceIcon = m_ptr->getAttribute( InstanceIcon_str)->getStringValue();
***************
*** 195,199 ****
bool decorator_set = false;
! if( m_ptr->getAttribute( Decorator_str)->getStatus() == BON::AS_Here)
{
m_sAttrDecorator = m_ptr->getAttribute( Decorator_str)->getStringValue();
--- 195,199 ----
bool decorator_set = false;
! if( m_ptr->getAttribute( Decorator_str)->getStatus() >= BON::AS_Here)
{
m_sAttrDecorator = m_ptr->getAttribute( Decorator_str)->getStringValue();
***************
*** 216,220 ****
// isAbstract: true if all objects are true
//m_isAbstract = m_isAbstract && (*it)->getAttribute( IsAbstract_str)->getBooleanValue();
! if( (*it)->getAttribute( IsAbstract_str)->getStatus() == BON::AS_Here) // if set by the user
{
isabs = isabs && (*it)->getAttribute( IsAbstract_str)->getBooleanValue();
--- 216,220 ----
// isAbstract: true if all objects are true
//m_isAbstract = m_isAbstract && (*it)->getAttribute( IsAbstract_str)->getBooleanValue();
! if( (*it)->getAttribute( IsAbstract_str)->getStatus() >= BON::AS_Here) // if set by the user
{
isabs = isabs && (*it)->getAttribute( IsAbstract_str)->getBooleanValue();
***************
*** 223,227 ****
#if(1)
// general pref
! if ( !isgenpref_set && (*it)->getAttribute( GeneralPreferences_str)->getStatus() == BON::AS_Here)
{
m_sAttrGenPref = (*it)->getAttribute( GeneralPreferences_str)->getStringValue();
--- 223,227 ----
#if(1)
// general pref
! if ( !isgenpref_set && (*it)->getAttribute( GeneralPreferences_str)->getStatus() >= BON::AS_Here)
{
m_sAttrGenPref = (*it)->getAttribute( GeneralPreferences_str)->getStringValue();
***************
*** 230,234 ****
// displayed name
! if ( !isdispname_set && (*it)->getAttribute( DisplayedName_str)->getStatus() == BON::AS_Here)
{
m_sAttrDispName = (*it)->getAttribute( DisplayedName_str)->getStringValue();
--- 230,234 ----
// displayed name
! if ( !isdispname_set && (*it)->getAttribute( DisplayedName_str)->getStatus() >= BON::AS_Here)
{
m_sAttrDispName = (*it)->getAttribute( DisplayedName_str)->getStringValue();
***************
*** 239,243 ****
if ((*it)->getObjectMeta().name().find("Proxy") != std::string::npos) continue;
! if( !ishotspotenabled_set && (*it)->getAttribute( IsHotspotEnabled_str)->getStatus() == BON::AS_Here)
{
m_bAttrIsHotspotEnabled = m_bAttrIsHotspotEnabled || (*it)->getAttribute( IsHotspotEnabled_str)->getBooleanValue();
--- 239,243 ----
if ((*it)->getObjectMeta().name().find("Proxy") != std::string::npos) continue;
! if( !ishotspotenabled_set && (*it)->getAttribute( IsHotspotEnabled_str)->getStatus() >= BON::AS_Here)
{
m_bAttrIsHotspotEnabled = m_bAttrIsHotspotEnabled || (*it)->getAttribute( IsHotspotEnabled_str)->getBooleanValue();
***************
*** 245,249 ****
}
! if( !istypeshown_set && (*it)->getAttribute( IsTypeShown_str)->getStatus() == BON::AS_Here)
{
m_bAttrIsTypeShown = m_bAttrIsTypeShown || (*it)->getAttribute( IsTypeShown_str)->getBooleanValue();
--- 245,249 ----
}
! if( !istypeshown_set && (*it)->getAttribute( IsTypeShown_str)->getStatus() >= BON::AS_Here)
{
m_bAttrIsTypeShown = m_bAttrIsTypeShown || (*it)->getAttribute( IsTypeShown_str)->getBooleanValue();
***************
*** 251,255 ****
}
! if( !isnameenabled_set && (*it)->getAttribute( IsNameEnabled_str)->getStatus() == BON::AS_Here)
{
m_bAttrIsNameEnabled = m_bAttrIsNameEnabled || (*it)->getAttribute( IsNameEnabled_str)->getBooleanValue();
--- 251,255 ----
}
! if( !isnameenabled_set && (*it)->getAttribute( IsNameEnabled_str)->getStatus() >= BON::AS_Here)
{
m_bAttrIsNameEnabled = m_bAttrIsNameEnabled || (*it)->getAttribute( IsNameEnabled_str)->getBooleanValue();
***************
*** 258,267 ****
! if ( !isnamepos_set && (*it)->getAttribute( NamePosition_str)->getStatus() == BON::AS_Here)
{
m_iAttrNamePosition = (*it)->getAttribute( NamePosition_str)->getIntegerValue();
isnamepos_set = true;
}
! if ( !isnamewrapnum_set && (*it)->getAttribute( NameWrapNum_str)->getStatus() == BON::AS_Here)
{
m_iAttrNameWrapNum = (*it)->getAttribute( NameWrapNum_str)->getIntegerValue();
--- 258,267 ----
! if ( !isnamepos_set && (*it)->getAttribute( NamePosition_str)->getStatus() >= BON::AS_Here)
{
m_iAttrNamePosition = (*it)->getAttribute( NamePosition_str)->getIntegerValue();
isnamepos_set = true;
}
! if ( !isnamewrapnum_set && (*it)->getAttribute( NameWrapNum_str)->getStatus() >= BON::AS_Here)
{
m_iAttrNameWrapNum = (*it)->getAttribute( NameWrapNum_str)->getIntegerValue();
***************
*** 270,294 ****
! if ( !icon_set && (*it)->getAttribute( Icon_str)->getStatus() == BON::AS_Here)
{
m_sAttrIcon = (*it)->getAttribute( Icon_str)->getStringValue();
icon_set = true;
}
! if ( !porticon_set && (*it)->getAttribute( PortIcon_str)->getStatus() == BON::AS_Here)
{
m_sAttrPortIcon = (*it)->getAttribute( PortIcon_str)->getStringValue();
porticon_set = true;
}
! if( !subtypeicon_set && (*it)->getAttribute( SubTypeIcon_str)->getStatus() == BON::AS_Here)
{
m_sAttrSubTypeIcon = (*it)->getAttribute( SubTypeIcon_str)->getStringValue();
subtypeicon_set = true;
}
! if ( !instanceicon_set && (*it)->getAttribute( InstanceIcon_str)->getStatus() == BON::AS_Here)
{
m_sAttrInstanceIcon = (*it)->getAttribute( InstanceIcon_str)->getStringValue();
instanceicon_set = true;
}
! if ( !decorator_set && (*it)->getAttribute( Decorator_str)->getStatus() == BON::AS_Here)
{
m_sAttrDecorator = (*it)->getAttribute( Decorator_str)->getStringValue();
--- 270,294 ----
! if ( !icon_set && (*it)->getAttribute( Icon_str)->getStatus() >= BON::AS_Here)
{
m_sAttrIcon = (*it)->getAttribute( Icon_str)->getStringValue();
icon_set = true;
}
! if ( !porticon_set && (*it)->getAttribute( PortIcon_str)->getStatus() >= BON::AS_Here)
{
m_sAttrPortIcon = (*it)->getAttribute( PortIcon_str)->getStringValue();
porticon_set = true;
}
! if( !subtypeicon_set && (*it)->getAttribute( SubTypeIcon_str)->getStatus() >= BON::AS_Here)
{
m_sAttrSubTypeIcon = (*it)->getAttribute( SubTypeIcon_str)->getStringValue();
subtypeicon_set = true;
}
! if ( !instanceicon_set && (*it)->getAttribute( InstanceIcon_str)->getStatus() >= BON::AS_Here)
{
m_sAttrInstanceIcon = (*it)->getAttribute( InstanceIcon_str)->getStringValue();
instanceicon_set = true;
}
! if ( !decorator_set && (*it)->getAttribute( Decorator_str)->getStatus() >= BON::AS_Here)
{
m_sAttrDecorator = (*it)->getAttribute( Decorator_str)->getStringValue();
More information about the GME-commit
mailing list