You can subscribe to this list here.
2000 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(8) |
Nov
(8) |
Dec
|
---|---|---|---|---|---|---|---|---|---|---|---|---|
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(12) |
Jun
(14) |
Jul
(56) |
Aug
(6) |
Sep
(24) |
Oct
(1) |
Nov
(3) |
Dec
(5) |
2002 |
Jan
(2) |
Feb
(6) |
Mar
(22) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: Chris M. <zm...@us...> - 2002-02-27 22:25:49
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools In directory usw-pr-cvs1:/tmp/cvs-serv20953 Modified Files: gen_class_ccs.xsl gen_class_hs.xsl Log Message: Added partial translation for attributes with multiple values. Only had to implement vector<string> for UML. Index: gen_class_ccs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_class_ccs.xsl,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -r1.12 -r1.13 *** gen_class_ccs.xsl 11 Feb 2002 21:14:52 -0000 1.12 --- gen_class_ccs.xsl 27 Feb 2002 22:25:46 -0000 1.13 *************** *** 11,14 **** --- 11,15 ---- + <!-- Initialise attributes when class is constructed. --> <xsl:template name="CONSTRUCT_ATTRIBUTE"> *************** *** 25,29 **** </xsl:variable> ! <xsl:if test='$CORBA_type = "char*"'> <xsl:variable name="attribute"> --- 26,33 ---- </xsl:variable> ! <xsl:variable name="upper" ! select="./Model:StructuralFeature.multiplicity/XMI.field[position()=2]"/> ! ! <xsl:if test='$CORBA_type = "char*" and not($upper = -1 or $upper > 1)'> <xsl:variable name="attribute"> *************** *** 225,230 **** <!-- Define the value of the CORBA_set_type variable by applying templates ! in the type_name mode to the descendant of the root node whos xmi.id ! attribute matches type_ref but only if the multiplicity is "many". --> <xsl:variable name="CORBA_set_type"> --- 229,234 ---- <!-- Define the value of the CORBA_set_type variable by applying templates ! in the type_set_namename mode to the descendant of the root node whos ! xmi.id attribute matches type_ref but only if the multiplicity is "many". --> <xsl:variable name="CORBA_set_type"> *************** *** 324,327 **** --- 328,336 ---- --> + <!-- I've attempted a full translation here. However, since my XMI only + generates vector<string>, I'm only going to supply that type of + translation for the other multi-valued attribute functions. + Please feel free to fill in the gaps. ;-) + --> <xsl:value-of select="$CORBA_set_type"/> <xsl:text>Set* </xsl:text> *************** *** 335,339 **** <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ // XXX </xsl:text> <xsl:text>} </xsl:text> --- 344,399 ---- <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ </xsl:text> ! <xsl:value-of select="$CORBA_set_type"/> ! <xsl:text>Set_var res = new </xsl:text> ! <xsl:value-of select="$CORBA_set_type"/> ! <xsl:text>Set; </xsl:text> ! ! <xsl:text> res->length(fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>.size()); </xsl:text> ! ! <xsl:text> int j = 0; </xsl:text> ! ! <xsl:text> for(</xsl:text> ! <xsl:choose> ! <xsl:when test='$is_ordered = "false"'> ! <xsl:text>vector</xsl:text> ! </xsl:when> ! <xsl:when test='$is_ordered = "true"'> ! <xsl:text>list</xsl:text> ! </xsl:when> ! </xsl:choose> ! <xsl:text><</xsl:text> ! <xsl:choose> ! <xsl:when test='$CORBA_type = "char*"'> ! <xsl:text>string</xsl:text> ! </xsl:when> ! <xsl:otherwise> ! <xsl:value-of select="$CORBA_set_type"/> ! </xsl:otherwise> ! </xsl:choose> ! <xsl:text>>::iterator i = fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>.begin(); </xsl:text> ! ! <xsl:text> i != fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>.end(); i++) </xsl:text> ! ! <xsl:text> res[j++] = </xsl:text> ! <xsl:choose> ! <xsl:when test='$CORBA_type = "char*"'> ! <xsl:text>CORBA::string_dup((*i).c_str())</xsl:text> ! </xsl:when> ! <xsl:otherwise> ! <xsl:value-of select="$CORBA_set_type"/> ! <xsl:text>_duplicate(*i)</xsl:text> ! </xsl:otherwise> ! </xsl:choose> ! <xsl:text>; </xsl:text> ! ! <xsl:text> return res._retn(); </xsl:text> ! <xsl:text>} </xsl:text> *************** *** 410,416 **** <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ // YYY </xsl:text> <xsl:text>} </xsl:text> </xsl:if> --- 470,490 ---- <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>.erase(fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>.begin(), fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>.end()); </xsl:text> ! <xsl:text> for(int i = 0; i < new_value.length(); i++) </xsl:text> ! ! <xsl:text> fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>.push_back(new_value[i].in()); </xsl:text> ! <xsl:text>} </xsl:text> + <xsl:text> </xsl:text> + </xsl:if> *************** *** 433,462 **** <xsl:text>{ </xsl:text> ! <xsl:choose> ! <xsl:when test='contains($CORBA_type,"_ptr")'> ! <xsl:text>fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text> = </xsl:text> ! <xsl:value-of select='substring-before($CORBA_type,"_ptr")'/> ! <xsl:text>::_nil(); </xsl:text> ! </xsl:when> ! <xsl:when test='$CORBA_type = "char*"'> ! <xsl:text>if (fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text> != NULL) </xsl:text> ! <xsl:text> { free(fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>); </xsl:text> ! <xsl:text> fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text> = NULL; </xsl:text> ! <xsl:text> }; </xsl:text> ! </xsl:when> ! <xsl:otherwise> ! <xsl:text>fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text> = 0; </xsl:text> ! </xsl:otherwise> ! </xsl:choose> <xsl:text>} </xsl:text> --- 507,553 ---- <xsl:text>{ </xsl:text> ! ! <xsl:if test='$upper = 1 and $is_changeable="true"'> ! ! <xsl:choose> ! <xsl:when test='contains($CORBA_type,"_ptr")'> ! <xsl:text>fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text> = </xsl:text> ! <xsl:value-of select='substring-before($CORBA_type,"_ptr")'/> ! <xsl:text>::_nil(); </xsl:text> ! </xsl:when> ! <xsl:when test='$CORBA_type = "char*"'> ! <xsl:text>if (fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text> != NULL) </xsl:text> ! <xsl:text> { free(fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>); </xsl:text> ! <xsl:text> fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text> = NULL; </xsl:text> ! <xsl:text> }; </xsl:text> ! </xsl:when> ! <xsl:otherwise> ! <xsl:text>fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text> = 0; </xsl:text> ! </xsl:otherwise> ! </xsl:choose> ! ! </xsl:if> ! ! <xsl:if test='($upper > 1 or $upper = -1)'> ! ! <xsl:text>fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>.erase(fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>.begin(), fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>.end()); </xsl:text> ! ! </xsl:if> <xsl:text>} </xsl:text> *************** *** 487,492 **** <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ // ZZZ </xsl:text> <xsl:text>} </xsl:text> </xsl:if> --- 578,588 ---- <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>.push_back(new_element); </xsl:text> ! <xsl:text>} </xsl:text> + + <xsl:text> </xsl:text> </xsl:if> *************** *** 586,590 **** <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ // VVV </xsl:text> <xsl:text>} </xsl:text> --- 682,695 ---- <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ string old_string = old_element; </xsl:text> ! ! <xsl:text> string new_string = new_element; </xsl:text> ! ! <xsl:text> replace(fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>.begin(), fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>.end(), old_string, new_string); </xsl:text> ! <xsl:text>} </xsl:text> *************** *** 644,650 **** <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ // LLL </xsl:text> <xsl:text>} </xsl:text> </xsl:if> --- 749,764 ---- <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ string old_string = old_element; </xsl:text> ! ! <xsl:text> remove(fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>.begin(), fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>.end(), old_string); </xsl:text> ! <xsl:text>} </xsl:text> + <xsl:text> </xsl:text> + </xsl:if> *************** *** 761,766 **** </xsl:variable> ! <!-- The value of the name attribute of a Model:Association descendant ! of the root node, which contains the referenced AssociationEnd. --> <xsl:variable name="base_assoc_name"> --- 875,880 ---- </xsl:variable> ! <!-- The name of a Model:Association ! which contains the referenced AssociationEnd. --> <xsl:variable name="base_assoc_name"> *************** *** 875,879 **** <xsl:value-of select="$package_name"/> <xsl:text>Package::_narrow(rp); </xsl:text> - <xsl:text> </xsl:text> --- 989,992 ---- Index: gen_class_hs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_class_hs.xsl,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -r1.9 -r1.10 *** gen_class_hs.xsl 26 Dec 2001 00:03:36 -0000 1.9 --- gen_class_hs.xsl 27 Feb 2002 22:25:46 -0000 1.10 *************** *** 211,215 **** select="./Model:StructuralFeature.multiplicity/XMI.field[position()=4]"/> ! <!-- xsl:if test='$lower=0 and $upper=1' --> <!--<AttributeType> <attribute_name> () --- 211,216 ---- select="./Model:StructuralFeature.multiplicity/XMI.field[position()=4]"/> ! <xsl:choose> ! <xsl:when test='$upper=1'> <!--<AttributeType> <attribute_name> () *************** *** 217,225 **** --> ! <xsl:text> </xsl:text> ! <xsl:value-of select="$CORBA_type"/> ! <xsl:text> fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>; </xsl:text> </xsl:template> --- 218,258 ---- --> ! <xsl:text> </xsl:text> ! <xsl:value-of select="$CORBA_type"/> ! <xsl:text> fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>; </xsl:text> ! ! </xsl:when> ! ! <xsl:otherwise> ! ! <!--<AttributeType><CollectionKind> <attribute_name> () ! raises (Reflective::MofError); ! --> ! ! <xsl:text> </xsl:text> ! <xsl:choose> ! <xsl:when test='$is_ordered = "false"'> ! <xsl:text>vector<</xsl:text> ! </xsl:when> ! <xsl:when test='$is_ordered = "true"'> ! <xsl:text>list<</xsl:text> ! </xsl:when> ! </xsl:choose> ! <xsl:choose> ! <xsl:when test='$CORBA_type = "char*"'> ! <xsl:text>string</xsl:text> ! </xsl:when> ! <xsl:otherwise> ! <xsl:value-of select="$CORBA_type"/> ! </xsl:otherwise> ! </xsl:choose> ! <xsl:text>> fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>; </xsl:text> ! ! </xsl:otherwise> ! </xsl:choose> </xsl:template> *************** *** 1158,1167 **** <xsl:text>_impl.h</xsl:text> </xsl:variable> - - <xsl:if test='@name = "Object"'> - <xsl:text>class_filename </xsl:text> - <xsl:value-of select="$class_filename"/> - <xsl:text> </xsl:text> - </xsl:if> <xalan:write select="$class_filename"> --- 1191,1194 ---- |
From: Chris M. <zm...@us...> - 2002-02-27 22:22:08
|
Update of /cvsroot/kuml/kuml/libkuml/test_client In directory usw-pr-cvs1:/tmp/cvs-serv19874 Modified Files: Makefile test_client.cc Log Message: Mods for change to UML 1.4 Index: Makefile =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/test_client/Makefile,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -r1.1.1.1 -r1.2 *** Makefile 16 Oct 2000 04:07:37 -0000 1.1.1.1 --- Makefile 27 Feb 2002 22:22:03 -0000 1.2 *************** *** 1,9 **** ! MICO_VERSION=2.3.0 ! test_client: test_client.o ../uml/Foundation/Foundation.o ../uml/Reflective/Reflective.o ! mico-ld -o test_client test_client.o ../uml/Foundation/Foundation.o ../uml/Reflective/Reflective.o -lmico${MICO_VERSION} -lmicocoss${MICO_VERSION} ! ! test_client.o: test_client.cc ../uml/Foundation/Foundation.h ../uml/Reflective/Reflective.h ../uml/Foundation/sequence_extensions.h ! mico-c++ -c -g -I../uml/Foundation -I../uml/Reflective test_client.cc clean: --- 1,7 ---- ! test_client: test_client.o ../uml/Core/Core.o ../uml/Reflective/Reflective.o ../uml/UML/UML.o ! mico-ld -o test_client test_client.o ../uml/Core/Core.o ../uml/Reflective/Reflective.o ../uml/UML/UML.o ../uml/CommonBehavior/CommonBehavior.o ../uml/StateMachines/StateMachines.o ../uml/Collaborations/Collaborations.o ../uml/UseCases/UseCases.o ../uml/ActivityGraphs/ActivityGraphs.o ../uml/ModelManagement/ModelManagement.o ../uml/DataTypes/DataTypes.o -lmico${MICOVERSION} -lmicocoss${MICOVERSION} ! test_client.o: test_client.cc ../uml/Core/Core.h ../uml/Reflective/Reflective.h ../uml/UML/UML.h ../uml/Core/sequence_extensions.h ! mico-c++ -c -g -I../uml/Core -I../uml/Reflective -I../uml/UML -I../uml/CommonBehavior -I../uml/StateMachines -I../uml/Collaborations -I../uml/UseCases -I../uml/ActivityGraphs -I../uml/ModelManagement -I../uml/DataTypes test_client.cc clean: Index: test_client.cc =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/test_client/test_client.cc,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** test_client.cc 20 Dec 2000 20:37:16 -0000 1.2 --- test_client.cc 27 Feb 2002 22:22:03 -0000 1.3 *************** *** 1,5 **** #include <CORBA-SMALL.h> #include <mico/CosNaming.h> ! #include "Foundation.h" #include "sequence_extensions.h" --- 1,6 ---- #include <CORBA-SMALL.h> + #include <mico/types.h> #include <mico/CosNaming.h> ! #include "UML.h" #include "sequence_extensions.h" *************** *** 15,20 **** CosNaming::Name name; name.length (1); ! name[0].id = CORBA::string_dup ("fcCoreFactory"); ! name[0].kind = CORBA::string_dup ("UmlCoreFactory"); CORBA::Object_var obj; --- 16,21 ---- CosNaming::Name name; name.length (1); ! name[0].id = CORBA::string_dup ("fcUMLPackageFactory"); ! name[0].kind = CORBA::string_dup ("UMLPackageFactory"); CORBA::Object_var obj; *************** *** 37,53 **** printf("found factory\n"); ! Foundation::FoundationPackageFactory_var factory = ! Foundation::FoundationPackageFactory::_narrow( obj ); ! Foundation::FoundationPackage_var foundPkg = ! factory->create_foundation_package(); assert (! CORBA::is_nil (foundPkg)); ! Foundation::Core::CorePackage_var corePkg = foundPkg->core_ref(); printf("new core object created\n"); ! Foundation::Core::ClassClass_var cc = corePkg->class_ref(); assert (! CORBA::is_nil (cc)); --- 38,56 ---- printf("found factory\n"); ! UML::UMLPackageFactory_var factory = ! UML::UMLPackageFactory::_narrow( obj ); ! UML::UMLPackage_var foundPkg = ! factory->create_uml_package(); assert (! CORBA::is_nil (foundPkg)); ! Core::CorePackage_var corePkg = foundPkg->core_ref(); printf("new core object created\n"); ! assert (! CORBA::is_nil (corePkg)); ! ! Core::ClassClass_var cc = corePkg->class_ref(); assert (! CORBA::is_nil (cc)); *************** *** 57,63 **** printf("calling create class\n"); ! Foundation::Core::Class_var myClass = cc->create_class( ! (const char *)"MyFirstClass", ! Foundation::DataTypes::vk_public, // Vis FALSE, // is spec TRUE, // is root? --- 60,76 ---- printf("calling create class\n"); ! char *the_class_name = "MyFirstClass"; ! MICO_ULong maxval = 1; ! MICO_ULong lengthval = 1; ! const Core::NameBag the_class_name_bag = ! Core::NameBag(maxval, lengthval, &the_class_name, FALSE); ! ! DataTypes::VisibilityKind class_viskinds[] = {DataTypes::vk_public}; ! const Core::VisibilityKindBag the_class_viskind_bag = ! Core::VisibilityKindBag(1, 1, class_viskinds, FALSE); ! ! Core::Class_var myClass = cc->create_class( ! the_class_name_bag, // name ! the_class_viskind_bag, // Vis FALSE, // is spec TRUE, // is root? *************** *** 66,76 **** FALSE); // is active ! Foundation::DataTypes::Name_var foundName = myClass->name(); ! printf("created class named %s\n", (char *)foundName); printf("and is_leaf attribute set to %d\n", myClass->is_leaf()); ! Foundation::Core::ClassSet_var all_classes = cc->all_of_type_class(); MICO_ULong len = all_classes->length(); --- 79,90 ---- FALSE); // is active ! DataTypes::Name_var foundName = myClass->name(); ! printf("created class named "); ! printf("%s\n", foundName.in()); printf("and is_leaf attribute set to %d\n", myClass->is_leaf()); ! Core::ClassSet_var all_classes = cc->all_of_type_class(); MICO_ULong len = all_classes->length(); *************** *** 79,90 **** for(MICO_ULong i = 0; i < len; i++) ! { Foundation::Core::Class_var& foundClass = all_classes[i]; ! Foundation::DataTypes::Name foundName = foundClass->name(); ! printf("found class %s at index %d\n", (char *)foundName, i); } ! Foundation::Core::ModelElementClass_var mec = corePkg->model_element_ref(); ! Foundation::Core::ModelElementSet_var all_MEs = mec->all_of_type_model_element(); len = all_MEs->length(); --- 93,104 ---- for(MICO_ULong i = 0; i < len; i++) ! { Core::Class_var& foundClass = all_classes[i]; ! DataTypes::Name foundCName = foundClass->name(); ! printf("found class %s at index %d\n", foundCName, i); } ! Core::ModelElementClass_var mec = corePkg->model_element_ref(); ! Core::ModelElementSet_var all_MEs = mec->all_of_type_model_element(); len = all_MEs->length(); *************** *** 93,136 **** for(MICO_ULong j = 0; j < len; j++) ! { Foundation::Core::ModelElement_var& foundME = all_MEs[j]; ! Foundation::DataTypes::Name foundName = foundME->name(); ! printf("found model elements %s at index %d\n", foundName, j); } // Create an attribute (ah!) ! Foundation::Core::UmlAttributeClass_var uac = corePkg->uml_attribute_ref(); ! Foundation::DataTypes::Name_var java = CORBA::string_dup("Java"); ! CORBA::String_var body = CORBA::string_dup(""); ! Foundation::DataTypes::Multiplicity mult; ! Foundation::DataTypes::MultiplicityRange single; ! single.lower = 1; ! single.upper = 1; ! insert_elem(mult, single); ! Foundation::DataTypes::Expression init = {java, body}; ! Foundation::Core::UmlAttribute_ptr ua = uac->create_uml_attribute( ! (const char *)"My First Attribute", // name ! Foundation::DataTypes::vk_public, // Vis ! FALSE, // is_specification ! Foundation::DataTypes::sk_instance, // owner_scope ! mult, // multiplicity ! Foundation::DataTypes::ck_changeable, // changeability ! Foundation::DataTypes::sk_instance, //target_scope ! init); // initial_value ! printf("attibute created\n"); // This is insufficient! // myClass->add_feature(ua); ! Foundation::Core::AOwnerFeature_ptr owned_feature_assoc = corePkg->a_owner_feature_ref(); owned_feature_assoc->add(myClass, ua); return 0; --- 107,219 ---- for(MICO_ULong j = 0; j < len; j++) ! { Core::ModelElement_var& foundME = all_MEs[j]; ! DataTypes::Name_var foundName = foundME->name(); ! printf("found model elements %s at index %d\n", foundName.in(), j); } // Create an attribute (ah!) ! Core::UmlAttributeClass_var uac = corePkg->uml_attribute_ref(); ! ! char *the_attr_name = "My First Attribute"; ! const Core::NameBag the_attr_name_bag = ! Core::NameBag(1, 1, &the_attr_name, FALSE); ! ! DataTypes::VisibilityKind attr_viskinds[] = {DataTypes::vk_public}; ! const Core::VisibilityKindBag the_attr_viskind_bag = ! Core::VisibilityKindBag(1, 1, attr_viskinds, FALSE); ! ! DataTypes::DataTypesPackage_var dataPkg = foundPkg->data_types_ref(); ! ! DataTypes::MultiplicityClass_var mc = dataPkg->multiplicity_ref(); ! ! DataTypes::Multiplicity_ptr mults = mc->create_multiplicity(); ! ! DataTypes::MultiplicityRangeClass_var mrc = dataPkg->multiplicity_range_ref(); ! ! DataTypes::MultiplicityRange_ptr mr = mrc->create_multiplicity_range(1, 1); ! ! mults->add_range(mr); ! ! const Core::MultiplicityBag the_attr_mult_bag = ! Core::MultiplicityBag(1, 1, &mults, FALSE); ! ! DataTypes::ChangeableKind ck = DataTypes::ck_changeable; ! ! Core::ChangeableKindBag ckb = Core::ChangeableKindBag(1, 1, &ck, FALSE); ! ! DataTypes::ScopeKind sk = DataTypes::sk_instance; ! Core::ScopeKindBag skb = Core::ScopeKindBag(1, 1, &sk, FALSE); ! DataTypes::OrderingKind ok = DataTypes::ok_unordered; ! Core::OrderingKindBag okb = Core::OrderingKindBag(1, 1, &ok, FALSE); ! DataTypes::ExpressionClass_var ec = dataPkg->expression_ref(); ! char *lang_name = "Java"; ! const DataTypes::NameBag lang_name_bag = ! DataTypes::NameBag(1, 1, &lang_name, FALSE); ! // const char body[] = " "; ! CORBA::String_var body = CORBA::string_dup(""); ! DataTypes::Expression_ptr ex = ! ec->create_expression(lang_name_bag, body.in()); ! ! Core::ExpressionBag eb = Core::ExpressionBag(1, 1, &ex, FALSE); ! ! Core::UmlAttribute_ptr ua = uac->create_uml_attribute( ! the_attr_name_bag, // const Core::NameBag& name ! the_attr_viskind_bag, // const Core::VisibilityKindBag& visibility ! FALSE, // CORBA::Boolean is_specification ! DataTypes::sk_instance, // DataTypes::ScopeKind owner_scope ! the_attr_mult_bag, // const Core::MultiplicityBag& multiplicity ! ckb, // const Core::ChangeableKindBag& changeability ! skb, // const Core::ScopeKindBag& target_scope ! okb, // const Core::OrderingKindBag& ordering ! eb); // const Core::ExpressionBag& initial_value ! ! printf("attribute created\n"); // This is insufficient! // myClass->add_feature(ua); ! Core::AOwnerFeature_ptr owned_feature_assoc = corePkg->a_owner_feature_ref(); owned_feature_assoc->add(myClass, ua); + + printf("created link between attribute and class\n"); + + // Create a tagged value. + Core::TaggedValueClass_var tvc = corePkg->tagged_value_ref(); + + char *the_tag_name = "Persistent"; + const Core::NameBag the_tag_name_bag = + Core::NameBag(1, 1, &the_tag_name, FALSE); + + DataTypes::VisibilityKind tag_viskinds[] = {DataTypes::vk_public}; + const Core::VisibilityKindBag the_tag_viskind_bag = + Core::VisibilityKindBag(1, 1, tag_viskinds, FALSE); + + char *the_tag_value = "true"; + const Core::StringSet the_tag_value_bag = + Core::StringSet(1, 1, &the_tag_value, FALSE); + + Core::TaggedValue_ptr tv = tvc->create_tagged_value( + the_tag_name_bag, // const Core::NameBag& name + the_tag_viskind_bag, // const Core::VisibilityKindBag& visibility + FALSE, // CORBA::Boolean is_specification + the_tag_value_bag); // const Core::StringSet& data_value + + printf("created tagged value\n"); + + CORBA::String_var the_new_tag = CORBA::string_dup("hello.txt"); + tv->add_data_value(the_new_tag); + + Core::StringSet_var ss = tv->data_value(); + for (int i =0; i < ss->length(); i++) + printf("tag %d : %s\n", i, ss[i].in()); return 0; |
From: Chris M. <zm...@us...> - 2002-02-11 21:15:11
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools In directory usw-pr-cvs1:/tmp/cvs-serv2326 Modified Files: gen_class_ccs.xsl Log Message: Added unset impls. Added bits to spot unimplemented bits. Cleaned up calling reserved word processing macro. Index: gen_class_ccs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_class_ccs.xsl,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -r1.11 -r1.12 *** gen_class_ccs.xsl 30 Jan 2002 20:41:04 -0000 1.11 --- gen_class_ccs.xsl 11 Feb 2002 21:14:52 -0000 1.12 *************** *** 335,339 **** <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ } </xsl:text> <xsl:text> </xsl:text> --- 335,340 ---- <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ // XXX </xsl:text> ! <xsl:text>} </xsl:text> [...467 lines suppressed...] ! <xsl:text>_var uap = assoc_proxy-></xsl:text> ! <xsl:value-of select="$reserved_ref_name"/> ! <xsl:text>( _this() ); </xsl:text> ! ! <xsl:text> assoc_proxy->remove(</xsl:text> ! <xsl:choose> ! <xsl:when test='$end_a_or_b = "A_END"'> ! <xsl:text>uap, _this()</xsl:text> ! </xsl:when> ! <xsl:otherwise> ! <xsl:text>_this(), uap</xsl:text> ! </xsl:otherwise> ! </xsl:choose> ! <xsl:text>); </xsl:text> ! </xsl:otherwise> ! </xsl:choose> ! ! <xsl:text>} </xsl:text> <xsl:text> </xsl:text> |
From: Chris M. <zm...@us...> - 2002-01-30 20:41:07
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools In directory usw-pr-cvs1:/tmp/cvs-serv29902 Modified Files: gen_class_ccs.xsl gen_package_ccs.xsl gen_package_hs.xsl gen_proxy_ccs.xsl gen_proxy_hs.xsl Log Message: Get the parent package of an proxy class mod. Index: gen_class_ccs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_class_ccs.xsl,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -r1.10 -r1.11 *** gen_class_ccs.xsl 2001/12/28 23:42:41 1.10 --- gen_class_ccs.xsl 2002/01/30 20:41:04 1.11 *************** *** 11,14 **** --- 11,71 ---- + <xsl:template name="CONSTRUCT_ATTRIBUTE"> + + <xsl:variable name="type_ref" select="@type"/> + + <!-- Define the value of the CORBA_type variable by applying templates + in the type_name mode to the descendant of the root node whos xmi.id + attribute matches type_ref. + --> + <xsl:variable name="CORBA_type"> + <xsl:apply-templates + select='/descendant::*[@xmi.id=$type_ref]' + mode="type_name"/> + </xsl:variable> + + <xsl:if test='$CORBA_type = "char*"'> + + <xsl:variable name="attribute"> + <xsl:call-template name="get_name"> + <xsl:with-param name="the_xmi_id" select="@xmi.id"/> + <xsl:with-param name="the_name" select="@name"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="attr_name"> + <xsl:call-template name="to_name"> + <xsl:with-param name="text"> + <xsl:value-of select="$attribute"/> + </xsl:with-param> + <xsl:with-param name="position" select="1"/> + </xsl:call-template> + </xsl:variable> + + <xsl:text> fc_</xsl:text> + <xsl:value-of select="$attr_name"/> + <xsl:text> = NULL; </xsl:text> + + </xsl:if> + + </xsl:template> + + + <!-- Replace the default rule. --> + <xsl:template match="*" mode="constructor"/> + + + <!-- Certain nodes do nothing. --> + <xsl:template + match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode" mode="constructor"> + <xsl:apply-templates mode="constructor"/> + </xsl:template> + + + <xsl:template match="Model:Attribute" mode="constructor"> + <xsl:call-template name="CONSTRUCT_ATTRIBUTE"/> + </xsl:template> + + <xsl:template name="CLASS_INSTANCE"> *************** *** 47,50 **** --- 104,111 ---- <xsl:text>#include "list_ops.h" </xsl:text> + <xsl:text>#include <stdlib.h> </xsl:text> + + <xsl:text>#include <string.h> </xsl:text> + <xsl:text> </xsl:text> *************** *** 72,75 **** --- 133,138 ---- <xsl:text>::_duplicate(_this())); </xsl:text> + <xsl:apply-templates mode="constructor"/> + <xsl:text>}; </xsl:text> *************** *** 197,203 **** <xsl:when test='$CORBA_type="char*"'> <xsl:text>{ CORBA::String_var str; </xsl:text> ! <xsl:text> str = fc_</xsl:text> <xsl:value-of select="$attr_name"/> ! <xsl:text>; </xsl:text> <xsl:text> return str._retn(); </xsl:text> <xsl:text>} </xsl:text> --- 260,266 ---- <xsl:when test='$CORBA_type="char*"'> <xsl:text>{ CORBA::String_var str; </xsl:text> ! <xsl:text> str = strdup(fc_</xsl:text> <xsl:value-of select="$attr_name"/> ! <xsl:text>); </xsl:text> <xsl:text> return str._retn(); </xsl:text> <xsl:text>} </xsl:text> *************** *** 235,241 **** <xsl:when test='$CORBA_type="char*"'> <xsl:text>{ CORBA::String_var str; </xsl:text> ! <xsl:text> str = fc_</xsl:text> <xsl:value-of select="$attr_name"/> ! <xsl:text>; </xsl:text> <xsl:text> return str._retn(); </xsl:text> <xsl:text>} </xsl:text> --- 298,304 ---- <xsl:when test='$CORBA_type="char*"'> <xsl:text>{ CORBA::String_var str; </xsl:text> ! <xsl:text> str = strdup(fc_</xsl:text> <xsl:value-of select="$attr_name"/> ! <xsl:text>); </xsl:text> <xsl:text> return str._retn(); </xsl:text> <xsl:text>} </xsl:text> *************** *** 296,302 **** <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text> = new_value; </xsl:text> <xsl:text>} </xsl:text> <xsl:text> </xsl:text> --- 359,388 ---- <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:choose> ! ! <xsl:when test='$CORBA_type="char*"'> ! ! <xsl:text>{ if (fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text> != NULL) free(fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text>); </xsl:text> ! ! <xsl:text> fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text> = strdup(new_value); </xsl:text> ! ! </xsl:when> ! ! <xsl:otherwise> ! ! <xsl:text>{ fc_</xsl:text> ! <xsl:value-of select="$attr_name"/> ! <xsl:text> = new_value; </xsl:text> ! ! </xsl:otherwise> ! ! </xsl:choose> ! <xsl:text>} </xsl:text> <xsl:text> </xsl:text> *************** *** 736,740 **** <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ Reflective::RefPackage_ptr rp = _this()->ref_immediate_package(); </xsl:text> <xsl:text> </xsl:text> --- 822,826 ---- <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ Reflective::RefPackage_ptr rp = get_parent_package();; </xsl:text> <xsl:text> </xsl:text> *************** *** 753,757 **** <xsl:text>::</xsl:text> <xsl:value-of select="$assoc_name"/> ! <xsl:text>_ptr assoc_proxy = cp-></xsl:text> <xsl:value-of select="$lc_assoc_name"/> <xsl:text>_ref(); </xsl:text> --- 839,844 ---- <xsl:text>::</xsl:text> <xsl:value-of select="$assoc_name"/> ! <xsl:text>_ptr assoc_proxy = </xsl:text> ! <xsl:text> cp-></xsl:text> <xsl:value-of select="$lc_assoc_name"/> <xsl:text>_ref(); </xsl:text> *************** *** 800,804 **** <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ Reflective::RefPackage_ptr rp = _this()->ref_immediate_package(); </xsl:text> <xsl:text> </xsl:text> --- 887,891 ---- <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ Reflective::RefPackage_ptr rp = get_parent_package(); </xsl:text> <xsl:text> </xsl:text> *************** *** 816,820 **** <xsl:text>::</xsl:text> <xsl:value-of select="$assoc_name"/> ! <xsl:text>_ptr assoc_proxy = cp-></xsl:text> <xsl:value-of select="$lc_assoc_name"/> <xsl:text>_ref(); </xsl:text> --- 903,908 ---- <xsl:text>::</xsl:text> <xsl:value-of select="$assoc_name"/> ! <xsl:text>_ptr assoc_proxy = </xsl:text> ! <xsl:text> cp-></xsl:text> <xsl:value-of select="$lc_assoc_name"/> <xsl:text>_ref(); </xsl:text> *************** *** 864,868 **** <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ Reflective::RefPackage_ptr rp = _this()->ref_immediate_package(); </xsl:text> <xsl:text> </xsl:text> --- 952,956 ---- <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ Reflective::RefPackage_ptr rp = get_parent_package(); </xsl:text> <xsl:text> </xsl:text> *************** *** 918,922 **** <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ Reflective::RefPackage_ptr rp = _this()->ref_immediate_package(); </xsl:text> <xsl:text> </xsl:text> --- 1006,1010 ---- <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ Reflective::RefPackage_ptr rp = get_parent_package(); </xsl:text> <xsl:text> </xsl:text> *************** *** 1050,1054 **** <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ Reflective::RefPackage_ptr rp = _this()->ref_immediate_package(); </xsl:text> <xsl:text> </xsl:text> --- 1138,1142 ---- <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ Reflective::RefPackage_ptr rp = get_parent_package(); </xsl:text> <xsl:text> </xsl:text> *************** *** 1117,1121 **** <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ Reflective::RefPackage_ptr rp = _this()->ref_immediate_package(); </xsl:text> <xsl:text> </xsl:text> --- 1205,1209 ---- <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ Reflective::RefPackage_ptr rp = get_parent_package(); </xsl:text> <xsl:text> </xsl:text> *************** *** 1181,1185 **** <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ Reflective::RefPackage_ptr rp = _this()->ref_immediate_package(); </xsl:text> <xsl:text> </xsl:text> --- 1269,1273 ---- <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ Reflective::RefPackage_ptr rp = get_parent_package(); </xsl:text> <xsl:text> </xsl:text> *************** *** 1240,1244 **** <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ Reflective::RefPackage_ptr rp = _this()->ref_immediate_package(); </xsl:text> <xsl:text> </xsl:text> --- 1328,1332 ---- <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ Reflective::RefPackage_ptr rp = get_parent_package(); </xsl:text> <xsl:text> </xsl:text> Index: gen_package_ccs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_package_ccs.xsl,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** gen_package_ccs.xsl 2001/12/26 00:03:36 1.3 --- gen_package_ccs.xsl 2002/01/30 20:41:04 1.4 *************** *** 27,31 **** <xsl:text>/</xsl:text> <xsl:value-of select="$ClassName"/> ! <xsl:text>.h" </xsl:text> </xsl:template> --- 27,31 ---- <xsl:text>/</xsl:text> <xsl:value-of select="$ClassName"/> ! <xsl:text>Package_impl.h" </xsl:text> </xsl:template> *************** *** 102,105 **** --- 102,224 ---- + <xsl:template name="IMPORTED_CNSTRCTR"> + + <xsl:variable name="package_name"> + <xsl:call-template name="toName"> + <xsl:with-param name="text"> + <xsl:value-of select="ancestor::Model:Package/@name"/> + </xsl:with-param> + <xsl:with-param name="position" select="1"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="ClassName"> + <xsl:call-template name="toName"> + <xsl:with-param name="text"> + <xsl:value-of select="@name"/> + </xsl:with-param> + <xsl:with-param name="position" select="1"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="class_name"> + <xsl:call-template name="to_name"> + <xsl:with-param name="text"> + <xsl:value-of select="$ClassName"/> + </xsl:with-param> + <xsl:with-param name="position" select="1"/> + </xsl:call-template> + </xsl:variable> + + <xsl:text> fc_</xsl:text> + <xsl:value-of select="$class_name"/> + <xsl:text> = </xsl:text> + <xsl:value-of select="$ClassName"/> + <xsl:text>::</xsl:text> + <xsl:value-of select="$ClassName"/> + <xsl:text>Package::_nil(); </xsl:text> + + </xsl:template> + + + <xsl:template name="CLASS_CNSTRCTR"> + + <xsl:variable name="package_name"> + <xsl:call-template name="toName"> + <xsl:with-param name="text"> + <xsl:value-of select="ancestor::Model:Package/@name"/> + </xsl:with-param> + <xsl:with-param name="position" select="1"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="ClassName"> + <xsl:call-template name="get_name"> + <xsl:with-param name="the_xmi_id" select="@xmi.id"/> + <xsl:with-param name="the_name" select="@name"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="class_name"> + <xsl:call-template name="to_name"> + <xsl:with-param name="text"> + <xsl:value-of select="$ClassName"/> + </xsl:with-param> + <xsl:with-param name="position" select="1"/> + </xsl:call-template> + </xsl:variable> + + <xsl:text> fc_</xsl:text> + <xsl:value-of select="$class_name"/> + <xsl:text> = </xsl:text> + <xsl:value-of select="$package_name"/> + <xsl:text>::</xsl:text> + <xsl:value-of select="$ClassName"/> + <xsl:text>Class::_nil(); </xsl:text> + + </xsl:template> + + + + <xsl:template name="ASSOCIATION_CNSTRCTR"> + + <xsl:variable name="package_name"> + <xsl:call-template name="toName"> + <xsl:with-param name="text"> + <xsl:value-of select="ancestor::Model:Package/@name"/> + </xsl:with-param> + <xsl:with-param name="position" select="1"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="ClassName"> + <xsl:call-template name="toName"> + <xsl:with-param name="text"> + <xsl:value-of select="@name"/> + </xsl:with-param> + <xsl:with-param name="position" select="1"/> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="class_name"> + <xsl:call-template name="to_name"> + <xsl:with-param name="text"> + <xsl:value-of select="$ClassName"/> + </xsl:with-param> + <xsl:with-param name="position" select="1"/> + </xsl:call-template> + </xsl:variable> + + <xsl:text> fc_</xsl:text> + <xsl:value-of select="$class_name"/> + <xsl:text> = </xsl:text> + <xsl:value-of select="$package_name"/> + <xsl:text>::</xsl:text> + <xsl:value-of select="$ClassName"/> + <xsl:text>::_nil(); </xsl:text> + + </xsl:template> + + <xsl:template name="IMPORTED_IMPL"> *************** *** 139,144 **** <xsl:value-of select="$class_name"/> <xsl:text>_ref() </xsl:text> - <xsl:text>{ }; </xsl:text> </xsl:template> --- 258,290 ---- <xsl:value-of select="$class_name"/> <xsl:text>_ref() </xsl:text> + <xsl:text>{ if (CORBA::is_nil(fc_</xsl:text> + <xsl:value-of select="$class_name"/> + <xsl:text>)) </xsl:text> + + <xsl:text> { </xsl:text> + <xsl:value-of select="$ClassName"/> + <xsl:text>Package_impl* impl = new </xsl:text> + <xsl:value-of select="$ClassName"/> + <xsl:text>Package_impl; </xsl:text> + + <xsl:text> fc_</xsl:text> + <xsl:value-of select="$class_name"/> + <xsl:text> = impl->_this(); </xsl:text> + + <xsl:text> } </xsl:text> + + <xsl:text> return </xsl:text> + <xsl:value-of select="$ClassName"/> + <xsl:text>::</xsl:text> + <xsl:value-of select="$ClassName"/> + <xsl:text>Package::_duplicate(fc_</xsl:text> + <xsl:value-of select="$class_name"/> + <xsl:text>); </xsl:text> + + <xsl:text>}; </xsl:text> + + <xsl:text> </xsl:text> + </xsl:template> *************** *** 194,197 **** --- 340,345 ---- <xsl:text> = impl->_this(); </xsl:text> + <xsl:text> impl->set_parent_package(_this()); </xsl:text> + <xsl:text> } </xsl:text> *************** *** 303,306 **** --- 451,456 ---- <xsl:text> </xsl:text> + <xsl:text> </xsl:text> + </xsl:template> *************** *** 344,347 **** --- 494,523 ---- <!-- Replace the default rule. --> + <xsl:template match="*" mode="constructor"/> + + + <!-- Certain nodes do nothing. --> + <xsl:template + match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode" mode="constructor"> + <xsl:apply-templates mode="constructor"/> + </xsl:template> + + + <xsl:template match="Model:Import" mode="constructor"> + <xsl:call-template name="IMPORTED_CNSTRCTR"/> + </xsl:template> + + + <xsl:template match="Model:Class" mode="constructor"> + <xsl:call-template name="CLASS_CNSTRCTR"/> + </xsl:template> + + + <xsl:template match="Model:Association" mode="constructor"> + <xsl:call-template name="ASSOCIATION_CNSTRCTR"/> + </xsl:template> + + + <!-- Replace the default rule. --> <xsl:template match="*" mode="implementations"/> *************** *** 412,415 **** --- 588,602 ---- <xsl:call-template name="PACKAGE_HDR"/> + + <!-- Output the constructor function def --> + <xsl:value-of select="$ClassName"/> + <xsl:text>Package_impl::</xsl:text> + <xsl:value-of select="$ClassName"/> + <xsl:text>Package_impl() </xsl:text> + <xsl:text>{ </xsl:text> + + <xsl:apply-templates mode="constructor"/> + + <xsl:text>} </xsl:text> <xsl:text> </xsl:text> Index: gen_package_hs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_package_hs.xsl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** gen_package_hs.xsl 2001/12/26 00:03:36 1.2 --- gen_package_hs.xsl 2002/01/30 20:41:04 1.3 *************** *** 280,283 **** --- 280,293 ---- <xsl:text>{ </xsl:text> + <xsl:text> </xsl:text> + + <xsl:text> public: </xsl:text> + + <xsl:text> </xsl:text> + + <xsl:text> </xsl:text> + <xsl:value-of select="$package_name"/> + <xsl:text>Package_impl(); </xsl:text> + </xsl:template> Index: gen_proxy_ccs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_proxy_ccs.xsl,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** gen_proxy_ccs.xsl 2001/12/26 00:03:36 1.4 --- gen_proxy_ccs.xsl 2002/01/30 20:41:04 1.5 *************** *** 235,238 **** --- 235,246 ---- </xsl:if> + <xsl:text>Reflective::RefPackage_ptr </xsl:text> + <xsl:value-of select="$class_name"/> + <xsl:text>Class_impl::parent_package = </xsl:text> + + <xsl:text> Reflective::RefPackage::_nil(); </xsl:text> + + <xsl:text> </xsl:text> + <!-- Constructor. --> *************** *** 251,254 **** --- 259,276 ---- <xsl:text>{ } </xsl:text> + <xsl:text> </xsl:text> + + <!-- get_parent_package --> + <xsl:text>Reflective::RefPackage_ptr </xsl:text> + <xsl:value-of select="$class_name"/> + <xsl:text>Class_impl::get_parent_package() </xsl:text> + <xsl:text>{ return Reflective::RefPackage::_duplicate(parent_package); } </xsl:text> + <xsl:text> </xsl:text> + + <!-- set_parent_package --> + <xsl:text>void </xsl:text> + <xsl:value-of select="$class_name"/> + <xsl:text>Class_impl::set_parent_package(Reflective::RefPackage_ptr new_value) </xsl:text> + <xsl:text>{ parent_package = Reflective::RefPackage::_duplicate(new_value); } </xsl:text> <xsl:text> </xsl:text> Index: gen_proxy_hs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_proxy_hs.xsl,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -r1.11 -r1.12 *** gen_proxy_hs.xsl 2001/12/26 00:03:36 1.11 --- gen_proxy_hs.xsl 2002/01/30 20:41:04 1.12 *************** *** 276,279 **** --- 276,287 ---- </xsl:if> + <xsl:text> Reflective::RefPackage_ptr get_parent_package(); </xsl:text> + + <xsl:text> </xsl:text> + + <xsl:text> void set_parent_package(Reflective::RefPackage_ptr new_value); </xsl:text> + + <xsl:text> </xsl:text> + <xsl:text> protected: </xsl:text> *************** *** 303,306 **** --- 311,322 ---- </xsl:if> + + <xsl:text> private: </xsl:text> + + <xsl:text> </xsl:text> + + <xsl:text> static Reflective::RefPackage_ptr parent_package; </xsl:text> + + <xsl:text> </xsl:text> <xsl:text>}; </xsl:text> |
From: Chris M. <zm...@us...> - 2002-01-30 20:38:00
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools In directory usw-pr-cvs1:/tmp/cvs-serv28939 Modified Files: gen_assoc_ccs.xsl Log Message: Added call to set length of Links to 2. Added modify implementation. Index: gen_assoc_ccs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_assoc_ccs.xsl,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** gen_assoc_ccs.xsl 2001/12/26 00:03:36 1.5 --- gen_assoc_ccs.xsl 2002/01/30 20:37:57 1.6 *************** *** 311,314 **** --- 311,315 ---- <xsl:text>] == before) </xsl:text> <xsl:text> { Reflective::Link_var new_link = new Reflective::Link; </xsl:text> + <xsl:text> new_link->length(2); </xsl:text> <xsl:text> new_link[0] = </xsl:text> <xsl:value-of select="$single_end1_name"/> *************** *** 355,369 **** </xsl:variable> <xsl:text>void </xsl:text> <xsl:value-of select="$assoc_name"/> <xsl:text>_impl::modify_</xsl:text> ! <xsl:choose> ! <xsl:when test='$result_type = 1'> ! <xsl:value-of select="$assoc_end1_name"/> ! </xsl:when> ! <xsl:when test='$result_type = 2'> ! <xsl:value-of select="$assoc_end2_name"/> ! </xsl:when> ! </xsl:choose> <xsl:text>( </xsl:text> <xsl:value-of select="$assoc_end1_package"/> --- 356,396 ---- </xsl:variable> + <xsl:variable name="result_end_package"> + <xsl:choose> + <xsl:when test='$result_type = 1'> + <xsl:value-of select="$assoc_end1_package"/> + </xsl:when> + <xsl:when test='$result_type = 2'> + <xsl:value-of select="$assoc_end2_package"/> + </xsl:when> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="result_end_name"> + <xsl:choose> + <xsl:when test='$result_type = 1'> + <xsl:value-of select="$assoc_end1_name"/> + </xsl:when> + <xsl:when test='$result_type = 2'> + <xsl:value-of select="$assoc_end2_name"/> + </xsl:when> + </xsl:choose> + </xsl:variable> + + <xsl:variable name="result_end_type"> + <xsl:choose> + <xsl:when test='$result_type = 1'> + <xsl:value-of select="$assoc_end1_type"/> + </xsl:when> + <xsl:when test='$result_type = 2'> + <xsl:value-of select="$assoc_end2_type"/> + </xsl:when> + </xsl:choose> + </xsl:variable> + <xsl:text>void </xsl:text> <xsl:value-of select="$assoc_name"/> <xsl:text>_impl::modify_</xsl:text> ! <xsl:value-of select="$result_end_name"/> <xsl:text>( </xsl:text> <xsl:value-of select="$assoc_end1_package"/> *************** *** 380,409 **** <xsl:text>, </xsl:text> ! <xsl:choose> ! <xsl:when test='$result_type = 1'> ! <xsl:value-of select="$assoc_end1_package"/> ! </xsl:when> ! <xsl:when test='$result_type = 2'> ! <xsl:value-of select="$assoc_end2_package"/> ! </xsl:when> ! </xsl:choose> <xsl:text>::</xsl:text> ! <xsl:choose> ! <xsl:when test='$result_type = 1'> ! <xsl:value-of select="$assoc_end1_type"/> ! </xsl:when> ! <xsl:when test='$result_type = 2'> ! <xsl:value-of select="$assoc_end2_type"/> ! </xsl:when> ! </xsl:choose> <xsl:text>_ptr new_</xsl:text> ! <xsl:choose> ! <xsl:when test='$result_type = 1'> ! <xsl:value-of select="$assoc_end1_name"/> ! </xsl:when> ! <xsl:when test='$result_type = 2'> ! <xsl:value-of select="$assoc_end2_name"/> ! </xsl:when> ! </xsl:choose> <xsl:text> ) </xsl:text> --- 407,415 ---- <xsl:text>, </xsl:text> ! <xsl:value-of select="$result_end_package"/> <xsl:text>::</xsl:text> ! <xsl:value-of select="$result_end_type"/> <xsl:text>_ptr new_</xsl:text> ! <xsl:value-of select="$result_end_name"/> <xsl:text> ) </xsl:text> *************** *** 412,416 **** <xsl:text> ::Reflective::NotFound, </xsl:text> <xsl:text> ::Reflective::MofError) </xsl:text> ! <xsl:text>{ } </xsl:text> <xsl:text> </xsl:text> --- 418,446 ---- <xsl:text> ::Reflective::NotFound, </xsl:text> <xsl:text> ::Reflective::MofError) </xsl:text> ! ! <xsl:text>{ for(list<Reflective::Link>::iterator i = fc_ref_all_links.begin(); </xsl:text> ! ! <xsl:text> i != fc_ref_all_links.end(); i++) </xsl:text> ! ! <xsl:text> { if ((*i)[0] == </xsl:text> ! <xsl:value-of select="$single_end1_name"/> ! <xsl:text> && (*i)[1] == </xsl:text> ! <xsl:value-of select="$single_end2_name"/> ! <xsl:text>) </xsl:text> ! ! <xsl:text> (*i)[</xsl:text> ! <xsl:value-of select="$result_type - 1"/> ! <xsl:text>] = new_</xsl:text> ! <xsl:value-of select="$result_end_name"/> ! <xsl:text>; </xsl:text> ! ! <xsl:text> return; </xsl:text> ! ! <xsl:text> } </xsl:text> ! ! <xsl:text> throw ::Reflective::NotFound(); </xsl:text> ! ! <xsl:text>} </xsl:text> ! <xsl:text> </xsl:text> *************** *** 893,896 **** --- 923,927 ---- <xsl:text>)) </xsl:text> <xsl:text> { Reflective::Link_var new_link = new Reflective::Link; </xsl:text> + <xsl:text> new_link->length(2); </xsl:text> <xsl:text> new_link[0] = </xsl:text> <xsl:value-of select="$single_end1_name"/> |
From: Chris M. <zm...@us...> - 2001-12-28 23:42:44
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools In directory usw-pr-cvs1:/tmp/cvs-serv4997 Modified Files: gen_class_ccs.xsl Log Message: Link problem. Didn't put Class:: before $attr in .cc Index: gen_class_ccs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_class_ccs.xsl,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -r1.9 -r1.10 *** gen_class_ccs.xsl 2001/12/26 00:03:36 1.9 --- gen_class_ccs.xsl 2001/12/28 23:42:41 1.10 *************** *** 264,267 **** --- 264,269 ---- <xsl:text>Set* </xsl:text> + <xsl:value-of select="$class_name"/> + <xsl:text>_impl::</xsl:text> <xsl:value-of select="$attr_name"/> <xsl:text>() </xsl:text> |
From: Chris M. <zm...@us...> - 2001-12-14 23:31:22
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools In directory usw-pr-cvs1:/tmp/cvs-serv26528 Modified Files: gen_assoc_ccs.xsl gen_assoc_hs.xsl gen_package_ccs.xsl Log Message: Mods to assocs that came up during package mods. Index: gen_assoc_ccs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_assoc_ccs.xsl,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** gen_assoc_ccs.xsl 2001/12/01 19:25:23 1.3 --- gen_assoc_ccs.xsl 2001/12/14 23:31:18 1.4 *************** *** 154,157 **** --- 154,165 ---- <xsl:param name="start_param_name"/> + <xsl:variable name="single_func_name"> + <xsl:call-template name="reserved-word-processing"> + <xsl:with-param name="the_word"> + <xsl:value-of select="$func_name"/> + </xsl:with-param> + </xsl:call-template> + </xsl:variable> [...481 lines suppressed...] ! <xsl:value-of select="$single_end2_name"/> <xsl:text> ) </xsl:text> <xsl:text>throw( </xsl:text> *************** *** 963,969 **** <xsl:text> i != fc_ref_all_links.end(); i++) </xsl:text> <xsl:text> { if ((*i)[0] == </xsl:text> ! <xsl:value-of select="$assoc_end1_name"/> <xsl:text> && (*i)[1] == </xsl:text> ! <xsl:value-of select="$assoc_end2_name"/> <xsl:text>) </xsl:text> <xsl:text> { fc_ref_all_links.erase(i); </xsl:text> --- 1033,1039 ---- <xsl:text> i != fc_ref_all_links.end(); i++) </xsl:text> <xsl:text> { if ((*i)[0] == </xsl:text> ! <xsl:value-of select="$single_end1_name"/> <xsl:text> && (*i)[1] == </xsl:text> ! <xsl:value-of select="$single_end2_name"/> <xsl:text>) </xsl:text> <xsl:text> { fc_ref_all_links.erase(i); </xsl:text> Index: gen_assoc_hs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_assoc_hs.xsl,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** gen_assoc_hs.xsl 2001/12/01 19:25:23 1.5 --- gen_assoc_hs.xsl 2001/12/14 23:31:18 1.6 *************** *** 76,80 **** <!-- The temp name of this ends function e.g. owned_element --> ! <xsl:variable name="tassoc_end1_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> --- 76,80 ---- <!-- The temp name of this ends function e.g. owned_element --> ! <xsl:variable name="assoc_end1_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> *************** *** 85,95 **** </xsl:variable> ! <!-- The name of this ends function after reserverd word processing ! e.g. namespace becomes _cxx_namespace ! --> ! <xsl:variable name="assoc_end1_name"> <xsl:call-template name="reserved-word-processing"> <xsl:with-param name="the_word"> ! <xsl:value-of select="$tassoc_end1_name"/> </xsl:with-param> </xsl:call-template> --- 85,92 ---- </xsl:variable> ! <xsl:variable name="single_end1_name"> <xsl:call-template name="reserved-word-processing"> <xsl:with-param name="the_word"> ! <xsl:value-of select="$assoc_end1_name"/> </xsl:with-param> </xsl:call-template> *************** *** 195,199 **** </xsl:variable> ! <xsl:variable name="tassoc_end2_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> --- 192,196 ---- </xsl:variable> ! <xsl:variable name="assoc_end2_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> *************** *** 204,211 **** </xsl:variable> ! <xsl:variable name="assoc_end2_name"> <xsl:call-template name="reserved-word-processing"> <xsl:with-param name="the_word"> ! <xsl:value-of select="$tassoc_end2_name"/> </xsl:with-param> </xsl:call-template> --- 201,208 ---- </xsl:variable> ! <xsl:variable name="single_end2_name"> <xsl:call-template name="reserved-word-processing"> <xsl:with-param name="the_word"> ! <xsl:value-of select="$assoc_end2_name"/> </xsl:with-param> </xsl:call-template> *************** *** 399,403 **** <xsl:value-of select="$assocEnd1TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$assoc_end1_name"/> <xsl:text> , </xsl:text> <xsl:value-of select="$assocEnd2PackageName"/> --- 396,400 ---- <xsl:value-of select="$assocEnd1TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$single_end1_name"/> <xsl:text> , </xsl:text> <xsl:value-of select="$assocEnd2PackageName"/> *************** *** 405,409 **** <xsl:value-of select="$assocEnd2TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$assoc_end2_name"/> <xsl:text> ) </xsl:text> --- 402,406 ---- <xsl:value-of select="$assocEnd2TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$single_end2_name"/> <xsl:text> ) </xsl:text> *************** *** 429,433 **** <xsl:text> </xsl:text> ! <xsl:value-of select="$assoc_end1_name"/> <xsl:text>( </xsl:text> <xsl:value-of select="$assocEnd2PackageName"/> --- 426,430 ---- <xsl:text> </xsl:text> ! <xsl:value-of select="$single_end1_name"/> <xsl:text>( </xsl:text> <xsl:value-of select="$assocEnd2PackageName"/> *************** *** 435,439 **** <xsl:value-of select="$assocEnd2TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$assoc_end2_name"/> <xsl:text> ) </xsl:text> <xsl:text> throw( </xsl:text> --- 432,436 ---- <xsl:value-of select="$assocEnd2TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$single_end2_name"/> <xsl:text> ) </xsl:text> <xsl:text> throw( </xsl:text> *************** *** 460,464 **** <xsl:text> </xsl:text> ! <xsl:value-of select="$assoc_end2_name"/> <xsl:text>( </xsl:text> <xsl:value-of select="$assocEnd1PackageName"/> --- 457,461 ---- <xsl:text> </xsl:text> ! <xsl:value-of select="$single_end2_name"/> <xsl:text>( </xsl:text> <xsl:value-of select="$assocEnd1PackageName"/> *************** *** 466,470 **** <xsl:value-of select="$assocEnd1TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$assoc_end1_name"/> <xsl:text> ) </xsl:text> <xsl:text> throw( </xsl:text> --- 463,467 ---- <xsl:value-of select="$assocEnd1TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$single_end1_name"/> <xsl:text> ) </xsl:text> <xsl:text> throw( </xsl:text> *************** *** 489,493 **** <xsl:value-of select="$assocEnd1TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$assoc_end1_name"/> <xsl:text>, </xsl:text> <xsl:value-of select="$assocEnd2PackageName"/> --- 486,490 ---- <xsl:value-of select="$assocEnd1TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$single_end1_name"/> <xsl:text>, </xsl:text> <xsl:value-of select="$assocEnd2PackageName"/> *************** *** 495,499 **** <xsl:value-of select="$assocEnd2TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$assoc_end2_name"/> <xsl:text> ) </xsl:text> <xsl:text> throw( </xsl:text> --- 492,496 ---- <xsl:value-of select="$assocEnd2TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$single_end2_name"/> <xsl:text> ) </xsl:text> <xsl:text> throw( </xsl:text> *************** *** 525,529 **** <xsl:value-of select="$assocEnd1TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$assoc_end1_name"/> <xsl:text>, </xsl:text> <xsl:value-of select="$assocEnd2PackageName"/> --- 522,526 ---- <xsl:value-of select="$assocEnd1TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$single_end1_name"/> <xsl:text>, </xsl:text> <xsl:value-of select="$assocEnd2PackageName"/> *************** *** 531,535 **** <xsl:value-of select="$assocEnd2TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$assoc_end2_name"/> <xsl:text>, </xsl:text> <xsl:value-of select="$assocEnd1PackageName"/> --- 528,532 ---- <xsl:value-of select="$assocEnd2TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$single_end2_name"/> <xsl:text>, </xsl:text> <xsl:value-of select="$assocEnd1PackageName"/> *************** *** 566,570 **** <xsl:value-of select="$assocEnd1TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$assoc_end1_name"/> <xsl:text>, </xsl:text> <xsl:value-of select="$assocEnd2PackageName"/> --- 563,567 ---- <xsl:value-of select="$assocEnd1TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$single_end1_name"/> <xsl:text>, </xsl:text> <xsl:value-of select="$assocEnd2PackageName"/> *************** *** 572,576 **** <xsl:value-of select="$assocEnd2TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$assoc_end2_name"/> <xsl:text>, </xsl:text> <xsl:value-of select="$assocEnd2PackageName"/> --- 569,573 ---- <xsl:value-of select="$assocEnd2TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$single_end2_name"/> <xsl:text>, </xsl:text> <xsl:value-of select="$assocEnd2PackageName"/> *************** *** 604,608 **** <xsl:value-of select="$assocEnd1TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$assoc_end1_name"/> <xsl:text>, </xsl:text> <xsl:value-of select="$assocEnd2PackageName"/> --- 601,605 ---- <xsl:value-of select="$assocEnd1TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$single_end1_name"/> <xsl:text>, </xsl:text> <xsl:value-of select="$assocEnd2PackageName"/> *************** *** 610,614 **** <xsl:value-of select="$assocEnd2TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$assoc_end2_name"/> <xsl:text>, </xsl:text> <xsl:value-of select="$assocEnd1PackageName"/> --- 607,611 ---- <xsl:value-of select="$assocEnd2TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$single_end2_name"/> <xsl:text>, </xsl:text> <xsl:value-of select="$assocEnd1PackageName"/> *************** *** 640,654 **** <xsl:value-of select="$assoc_end2_name"/> <xsl:text>( </xsl:text> ! <xsl:value-of select="$assocEnd2PackageName"/> <xsl:text>::</xsl:text> ! <xsl:value-of select="$assocEnd2TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$assoc_end2_name"/> <xsl:text>, </xsl:text> ! <xsl:value-of select="$assocEnd1PackageName"/> <xsl:text>::</xsl:text> ! <xsl:value-of select="$assocEnd1TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$assoc_end1_name"/> <xsl:text>, </xsl:text> <xsl:value-of select="$assocEnd2PackageName"/> --- 637,651 ---- <xsl:value-of select="$assoc_end2_name"/> <xsl:text>( </xsl:text> ! <xsl:value-of select="$assocEnd1PackageName"/> <xsl:text>::</xsl:text> ! <xsl:value-of select="$assocEnd1TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$single_end1_name"/> <xsl:text>, </xsl:text> ! <xsl:value-of select="$assocEnd2PackageName"/> <xsl:text>::</xsl:text> ! <xsl:value-of select="$assocEnd2TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$single_end2_name"/> <xsl:text>, </xsl:text> <xsl:value-of select="$assocEnd2PackageName"/> *************** *** 680,684 **** <xsl:value-of select="$assocEnd1TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$assoc_end1_name"/> <xsl:text>, </xsl:text> <xsl:value-of select="$assocEnd2PackageName"/> --- 677,681 ---- <xsl:value-of select="$assocEnd1TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$single_end1_name"/> <xsl:text>, </xsl:text> <xsl:value-of select="$assocEnd2PackageName"/> *************** *** 686,690 **** <xsl:value-of select="$assocEnd2TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$assoc_end2_name"/> <xsl:text> ) </xsl:text> <xsl:text> throw( </xsl:text> --- 683,687 ---- <xsl:value-of select="$assocEnd2TypeName"/> <xsl:text>_ptr </xsl:text> ! <xsl:value-of select="$single_end2_name"/> <xsl:text> ) </xsl:text> <xsl:text> throw( </xsl:text> Index: gen_package_ccs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_package_ccs.xsl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** gen_package_ccs.xsl 2001/12/11 22:39:25 1.1 --- gen_package_ccs.xsl 2001/12/14 23:31:18 1.2 *************** *** 222,226 **** <xsl:value-of select="$class_name"/> <xsl:text>_ref() </xsl:text> ! <xsl:text>{ }; </xsl:text> </xsl:template> --- 222,253 ---- <xsl:value-of select="$class_name"/> <xsl:text>_ref() </xsl:text> ! ! <xsl:text>{ if (CORBA::is_nil(fc_</xsl:text> ! <xsl:value-of select="$class_name"/> ! <xsl:text>)) </xsl:text> ! ! <xsl:text> { </xsl:text> ! <xsl:value-of select="$ClassName"/> ! <xsl:text>_impl* impl = new </xsl:text> ! <xsl:value-of select="$ClassName"/> ! <xsl:text>_impl; </xsl:text> ! ! <xsl:text> fc_</xsl:text> ! <xsl:value-of select="$class_name"/> ! <xsl:text> = impl->_this(); </xsl:text> ! ! <xsl:text> } </xsl:text> ! ! <xsl:text> return </xsl:text> ! <xsl:value-of select="$package_name"/> ! <xsl:text>::</xsl:text> ! <xsl:value-of select="$ClassName"/> ! <xsl:text>::_duplicate(fc_</xsl:text> ! <xsl:value-of select="$class_name"/> ! <xsl:text>); </xsl:text> ! ! <xsl:text>}; </xsl:text> ! ! <xsl:text> </xsl:text> </xsl:template> |
From: Chris M. <zm...@us...> - 2001-12-11 22:39:27
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools In directory usw-pr-cvs1:/tmp/cvs-serv9177 Added Files: gen_package_ccs.xsl gen_package_hs.xsl gen_factory_ccs.xsl gen_factory_hs.xsl Log Message: First go at Package bits. --- NEW FILE --- <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="org.apache.xalan.xslt.extensions.Redirect" xmlns:Model="omg.org/mof.Model/1.3" extension-element-prefixes="xalan" version="1.0" > <xsl:include href="common_code.xsl"/> <!-- xsl:include href="common_proxy_code.xsl"/ --> <xsl:template name="IMPORTED_INCL"> <xsl:variable name="ClassName"> <xsl:call-template name="toName"> <xsl:with-param name="text"> <xsl:value-of select="@name"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:text>#include "../</xsl:text> <xsl:value-of select="@name"/> <xsl:text>/</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>.h" </xsl:text> </xsl:template> <xsl:template name="CLASS_INCL"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="ClassName"> <xsl:call-template name="get_name"> <xsl:with-param name="the_xmi_id" select="@xmi.id"/> <xsl:with-param name="the_name" select="@name"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:text>#include "</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>Class_impl.h" </xsl:text> </xsl:template> <xsl:template name="ASSOCIATION_INCL"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="ClassName"> <xsl:call-template name="toName"> <xsl:with-param name="text"> <xsl:value-of select="@name"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:text>#include "</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>_impl.h" </xsl:text> </xsl:template> <xsl:template name="IMPORTED_IMPL"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="ClassName"> <xsl:call-template name="toName"> <xsl:with-param name="text"> <xsl:value-of select="@name"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:value-of select="$ClassName"/> <xsl:text>::</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>Package_ptr </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>Package_impl::</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>_ref() </xsl:text> <xsl:text>{ }; </xsl:text> </xsl:template> <xsl:template name="CLASS_IMPL"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="ClassName"> <xsl:call-template name="get_name"> <xsl:with-param name="the_xmi_id" select="@xmi.id"/> <xsl:with-param name="the_name" select="@name"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:value-of select="$package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>Class_ptr </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>Package_impl::</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>_ref() </xsl:text> <xsl:text>{ if (CORBA::is_nil(fc_</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>)) </xsl:text> <xsl:text> { </xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>Class_impl* impl = new </xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>Class_impl; </xsl:text> <xsl:text> fc_</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text> = impl->_this(); </xsl:text> <xsl:text> } </xsl:text> <xsl:text> return </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>Class::_duplicate(fc_</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>); </xsl:text> <xsl:text>}; </xsl:text> <xsl:text> </xsl:text> </xsl:template> <xsl:template name="ASSOCIATION_IMPL"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="ClassName"> <xsl:call-template name="toName"> <xsl:with-param name="text"> <xsl:value-of select="@name"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:value-of select="$package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>_ptr </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>Package_impl::</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>_ref() </xsl:text> <xsl:text>{ }; </xsl:text> </xsl:template> <xsl:template name="PACKAGE_HDR"> <xsl:variable name="package_name" select="@name"/> <xsl:variable name="PACKAGE_NAME"> <xsl:call-template name="to_upper"> <xsl:with-param name="the_string" select="$package_name"/> </xsl:call-template> </xsl:variable> <xsl:text>#include "</xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>Package_impl.h" </xsl:text> <xsl:text> </xsl:text> </xsl:template> <!-- Main program starts here! --> <!-- Allow complete control over format. --> <xsl:strip-space elements="*"/> <!-- Output in text format. --> <xsl:output method="text"/> <!-- Replace the default rule. --> <xsl:template match="*" mode="includes"/> <!-- Certain nodes do nothing. --> <xsl:template match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode" mode="includes"> <xsl:apply-templates mode="includes"/> </xsl:template> <xsl:template match="Model:Import" mode="includes"> <xsl:call-template name="IMPORTED_INCL"/> </xsl:template> <xsl:template match="Model:Class" mode="includes"> <xsl:call-template name="CLASS_INCL"/> </xsl:template> <xsl:template match="Model:Association" mode="includes"> <xsl:call-template name="ASSOCIATION_INCL"/> </xsl:template> <!-- Replace the default rule. --> <xsl:template match="*" mode="implementations"/> <!-- Certain nodes do nothing. --> <xsl:template match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode" mode="implementations"> <xsl:apply-templates mode="implementations"/> </xsl:template> <xsl:template match="Model:Import" mode="implementations"> <xsl:call-template name="IMPORTED_IMPL"/> </xsl:template> <xsl:template match="Model:Class" mode="implementations"> <xsl:call-template name="CLASS_IMPL"/> </xsl:template> <xsl:template match="Model:Association" mode="implementations"> <xsl:call-template name="ASSOCIATION_IMPL"/> </xsl:template> <!-- Certain nodes do nothing. --> <xsl:template match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode"> <xsl:apply-templates/> </xsl:template> <xsl:template match="Model:Package"> <xsl:variable name="package_name" select="@name"/> <xsl:variable name="class_name" select="@name"/> <xsl:variable name="package_filename"> <xsl:text>../</xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>/</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>Package_impl.cc</xsl:text> </xsl:variable> <xsl:value-of select="$package_filename"/> <xsl:text> </xsl:text> <xalan:write select="$package_filename"> <xsl:apply-templates mode="includes"/> <xsl:call-template name="PACKAGE_HDR"/> <xsl:text> </xsl:text> <xsl:apply-templates mode="implementations"/> </xalan:write> </xsl:template> </xsl:transform> --- NEW FILE --- <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="org.apache.xalan.xslt.extensions.Redirect" xmlns:Model="omg.org/mof.Model/1.3" extension-element-prefixes="xalan" version="1.0" > <xsl:include href="common_code.xsl"/> <!-- xsl:include href="common_proxy_code.xsl"/ --> <xsl:template name="IMPORTED_DECL"> <xsl:variable name="ClassName"> <xsl:call-template name="toName"> <xsl:with-param name="text"> <xsl:value-of select="@name"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:text> </xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>::</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>Package_ptr </xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>_ref(); </xsl:text> </xsl:template> <xsl:template name="CLASS_DECL"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="ClassName"> <xsl:call-template name="get_name"> <xsl:with-param name="the_xmi_id" select="@xmi.id"/> <xsl:with-param name="the_name" select="@name"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:text> </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>Class_ptr </xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>_ref(); </xsl:text> </xsl:template> <xsl:template name="ASSOCIATION_DECL"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="ClassName"> <xsl:call-template name="toName"> <xsl:with-param name="text"> <xsl:value-of select="@name"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:text> </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>_ptr </xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>_ref(); </xsl:text> </xsl:template> <xsl:template name="IMPORTED_PRV"> <xsl:variable name="ClassName"> <xsl:call-template name="toName"> <xsl:with-param name="text"> <xsl:value-of select="@name"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:text> </xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>::</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>Package_ptr fc_</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>; </xsl:text> </xsl:template> <xsl:template name="CLASS_PRV"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="ClassName"> <xsl:call-template name="get_name"> <xsl:with-param name="the_xmi_id" select="@xmi.id"/> <xsl:with-param name="the_name" select="@name"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:text> </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>Class_ptr fc_</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>; </xsl:text> </xsl:template> <xsl:template name="ASSOCIATION_PRV"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="ClassName"> <xsl:call-template name="toName"> <xsl:with-param name="text"> <xsl:value-of select="@name"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:variable name="class_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> <xsl:value-of select="$ClassName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> <xsl:text> </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$ClassName"/> <xsl:text>_ptr fc_</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>; </xsl:text> </xsl:template> <xsl:template name="PACKAGE_HDR"> <xsl:variable name="package_name" select="@name"/> <xsl:variable name="PACKAGE_NAME"> <xsl:call-template name="to_upper"> <xsl:with-param name="the_string" select="$package_name"/> </xsl:call-template> </xsl:variable> <xsl:text>#ifndef __</xsl:text> <xsl:value-of select="$PACKAGE_NAME"/> <xsl:text>_PACKAGE_H__ </xsl:text> <xsl:text>#define __</xsl:text> <xsl:value-of select="$PACKAGE_NAME"/> <xsl:text>_PACKAGE_H__ </xsl:text> <xsl:text> </xsl:text> <xsl:text>#include "Reflective_impl.h" </xsl:text> <xsl:text> </xsl:text> <xsl:text>#include "</xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>.h" </xsl:text> <xsl:text> </xsl:text> <xsl:text>class </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>Package_impl : </xsl:text> <xsl:text> virtual public RefPackage_impl, </xsl:text> <xsl:text> virtual public POA_</xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>Package </xsl:text> <xsl:text>{ </xsl:text> </xsl:template> <!-- Main program starts here! --> <!-- Allow complete control over format. --> <xsl:strip-space elements="*"/> <!-- Output in text format. --> <xsl:output method="text"/> <!-- Replace the default rule. --> <xsl:template match="*" mode="declarations"/> <!-- Certain nodes do nothing. --> <xsl:template match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode" mode="declarations"> <xsl:apply-templates mode="declarations"/> </xsl:template> <xsl:template match="Model:Import" mode="declarations"> <xsl:call-template name="IMPORTED_DECL"/> </xsl:template> <xsl:template match="Model:Class" mode="declarations"> <xsl:call-template name="CLASS_DECL"/> </xsl:template> <xsl:template match="Model:Association" mode="declarations"> <xsl:call-template name="ASSOCIATION_DECL"/> </xsl:template> <!-- Replace the default rule. --> <xsl:template match="*" mode="privates"/> <!-- Certain nodes do nothing. --> <xsl:template match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode" mode="privates"> <xsl:apply-templates mode="privates"/> </xsl:template> <xsl:template match="Model:Import" mode="privates"> <xsl:call-template name="IMPORTED_PRV"/> </xsl:template> <xsl:template match="Model:Class" mode="privates"> <xsl:call-template name="CLASS_PRV"/> </xsl:template> <xsl:template match="Model:Association" mode="privates"> <xsl:call-template name="ASSOCIATION_PRV"/> </xsl:template> <!-- Certain nodes do nothing. --> <xsl:template match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode"> <xsl:apply-templates/> </xsl:template> <xsl:template match="Model:Package"> <xsl:variable name="package_name" select="@name"/> <xsl:variable name="class_name" select="@name"/> <xsl:variable name="package_filename"> <xsl:text>../</xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>/</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>Package_impl.h</xsl:text> </xsl:variable> <xsl:value-of select="$package_filename"/> <xsl:text> </xsl:text> <xalan:write select="$package_filename"> <xsl:call-template name="PACKAGE_HDR"/> <xsl:apply-templates mode="declarations"/> <xsl:text> </xsl:text> <xsl:text> private: </xsl:text> <xsl:text> </xsl:text> <xsl:apply-templates mode="privates"/> <xsl:text> </xsl:text> <xsl:text>}; </xsl:text> <xsl:text> </xsl:text> <xsl:text>#endif </xsl:text> </xalan:write> </xsl:template> </xsl:transform> --- NEW FILE --- <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="org.apache.xalan.xslt.extensions.Redirect" xmlns:Model="omg.org/mof.Model/1.3" extension-element-prefixes="xalan" version="1.0" > <xsl:include href="common_code.xsl"/> <!-- xsl:include href="common_proxy_code.xsl"/ --> <!-- Main program starts here! --> <!-- Allow complete control over format. --> <xsl:strip-space elements="*"/> <!-- Output in text format. --> <xsl:output method="text"/> <!-- Replace the default rule. --> <xsl:template match="*"/> <!-- Certain nodes do nothing. --> <xsl:template match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode"> <xsl:apply-templates/> </xsl:template> <xsl:template name="PACKAGE_FACTORY"> <xsl:variable name="Package_name" select="@name"/> <xsl:variable name="package_name"> <xsl:call-template name="to_lower"> <xsl:with-param name="the_string" select="$Package_name"/> </xsl:call-template> </xsl:variable> <xsl:text>#include "</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>Package_impl.h" </xsl:text> <xsl:text>#include "</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>PackageFactory_impl.h" </xsl:text> <xsl:text> </xsl:text> <xsl:text>// Implementation for interface </xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>PackageFactory </xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>PackageFactory_impl::~</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>PackageFactory_impl() { </xsl:text> <xsl:text>} </xsl:text> <xsl:text> </xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>Package_ptr </xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>PackageFactory_impl::create_</xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>_package() </xsl:text> <xsl:text> throw( </xsl:text> <xsl:text> ::CORBA::SystemException, </xsl:text> <xsl:text> ::Reflective::MofError) </xsl:text> <xsl:text>{ </xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>Package_impl* impl = new </xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>Package_impl; </xsl:text> <xsl:text> </xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>Package_ptr retval = impl->_this(); </xsl:text> <xsl:text> return retval; </xsl:text> <xsl:text>} </xsl:text> </xsl:template> <xsl:template match="Model:Package"> <xsl:variable name="Package_name" select="@name"/> <xsl:variable name="class_name" select="@name"/> <xsl:variable name="factory_filename"> <xsl:text>../</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>/</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>PackageFactory_impl.cc</xsl:text> </xsl:variable> <xsl:value-of select="$factory_filename"/> <xsl:text> </xsl:text> <xalan:write select="$factory_filename"> <xsl:call-template name="PACKAGE_FACTORY"/> </xalan:write> </xsl:template> </xsl:transform> --- NEW FILE --- <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="org.apache.xalan.xslt.extensions.Redirect" xmlns:Model="omg.org/mof.Model/1.3" extension-element-prefixes="xalan" version="1.0" > <xsl:include href="common_code.xsl"/> <!-- xsl:include href="common_proxy_code.xsl"/ --> <!-- Main program starts here! --> <!-- Allow complete control over format. --> <xsl:strip-space elements="*"/> <!-- Output in text format. --> <xsl:output method="text"/> <!-- Replace the default rule. --> <xsl:template match="*"/> <!-- Certain nodes do nothing. --> <xsl:template match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode"> <xsl:apply-templates/> </xsl:template> <xsl:template name="PACKAGE_FACTORY"> <xsl:variable name="Package_name" select="@name"/> <xsl:variable name="PACKAGE_NAME"> <xsl:call-template name="to_upper"> <xsl:with-param name="the_string" select="$Package_name"/> </xsl:call-template> </xsl:variable> <xsl:variable name="package_name"> <xsl:call-template name="to_lower"> <xsl:with-param name="the_string" select="$Package_name"/> </xsl:call-template> </xsl:variable> <xsl:text>#ifndef __</xsl:text> <xsl:value-of select="$PACKAGE_NAME"/> <xsl:text>PACKAGEFACTORY_H__ </xsl:text> <xsl:text>#define __</xsl:text> <xsl:value-of select="$PACKAGE_NAME"/> <xsl:text>PACKAGEFACTORY_H__ </xsl:text> <xsl:text> </xsl:text> <xsl:text>#include "</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>.h" </xsl:text> <xsl:text> </xsl:text> <xsl:text>// Implementation for interface </xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>PackageFactory </xsl:text> <xsl:text>class </xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>PackageFactory_impl : </xsl:text> <xsl:text> virtual public POA_</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>PackageFactory </xsl:text> <xsl:text>{ </xsl:text> <xsl:text> public: </xsl:text> <xsl:text> ~</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>PackageFactory_impl(); </xsl:text> <xsl:text> </xsl:text> <xsl:text> </xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>::</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>Package_ptr create_</xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>_package() </xsl:text> <xsl:text> throw( </xsl:text> <xsl:text> ::CORBA::SystemException, </xsl:text> <xsl:text> ::Reflective::MofError) </xsl:text> <xsl:text> ; </xsl:text> <xsl:text>}; </xsl:text> <xsl:text>#endif </xsl:text> </xsl:template> <xsl:template match="Model:Package"> <xsl:variable name="Package_name" select="@name"/> <xsl:variable name="class_name" select="@name"/> <xsl:variable name="factory_filename"> <xsl:text>../</xsl:text> <xsl:value-of select="$Package_name"/> <xsl:text>/</xsl:text> <xsl:value-of select="$class_name"/> <xsl:text>PackageFactory_impl.h</xsl:text> </xsl:variable> <xsl:value-of select="$factory_filename"/> <xsl:text> </xsl:text> <xalan:write select="$factory_filename"> <xsl:call-template name="PACKAGE_FACTORY"/> </xalan:write> </xsl:template> </xsl:transform> |
From: Chris M. <zm...@us...> - 2001-12-04 22:42:40
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools In directory usw-pr-cvs1:/tmp/cvs-serv26006 Modified Files: common_code.xsl Log Message: Corrected bug in list-contains. Was only comparing the start of the string, not the first entry in the comma-separated list. Index: common_code.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/common_code.xsl,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -r1.9 -r1.10 *** common_code.xsl 2001/12/01 19:25:23 1.9 --- common_code.xsl 2001/12/04 22:42:37 1.10 *************** *** 198,202 **** <xsl:when test='contains($the_list, " ")'> <xsl:choose> ! <xsl:when test='starts-with($the_list, $the_item)'> <xsl:value-of select="true()"/> </xsl:when> --- 198,202 ---- <xsl:when test='contains($the_list, " ")'> <xsl:choose> ! <xsl:when test='substring-before($the_list," ") = $the_item'> <xsl:value-of select="true()"/> </xsl:when> |
From: Chris M. <zm...@us...> - 2001-12-01 19:25:29
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools In directory usw-pr-cvs1:/tmp/cvs-serv4144 Modified Files: common_assoc_code.xsl common_code.xsl gen_assoc_ccs.xsl gen_assoc_hs.xsl Log Message: Associations complete. Index: common_assoc_code.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/common_assoc_code.xsl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** common_assoc_code.xsl 2001/09/27 21:51:09 1.1 --- common_assoc_code.xsl 2001/12/01 19:25:23 1.2 *************** *** 8,46 **** ! <xsl:template name="assoc_collection_name"> ! <xsl:param name="lower"/> ! <xsl:param name="upper"/> ! <xsl:param name="is_ordered"/> ! <xsl:param name="is_unique"/> ! <xsl:param name="aggregation"/> - <xsl:variable name="collection"> - <xsl:call-template name="collection_name"> - <xsl:with-param name="lower"> - <xsl:value-of select="$lower"/> - </xsl:with-param> - <xsl:with-param name="upper"> - <xsl:value-of select="$upper"/> - </xsl:with-param> - <xsl:with-param name="is_ordered"> - <xsl:value-of select="$is_ordered"/> - </xsl:with-param> - <xsl:with-param name="is_unique"> - <xsl:value-of select="$is_unique"/> - </xsl:with-param> - </xsl:call-template> - </xsl:variable> - <xsl:choose> <!-- Why? --> <xsl:when test='$collection = "Bag"'> ! <xsl:text>_ptr </xsl:text> </xsl:when> <xsl:when test='string-length($collection) = 0'> ! <xsl:text>_ptr </xsl:text> </xsl:when> <xsl:otherwise> ! <xsl:value-of select="$collection"/> ! <xsl:text>* </xsl:text> </xsl:otherwise> </xsl:choose> --- 8,24 ---- ! <xsl:template name="assoc_collection_ext"> ! <xsl:param name="collection"/> <xsl:choose> <!-- Why? --> <xsl:when test='$collection = "Bag"'> ! <xsl:text>_ptr</xsl:text> </xsl:when> <xsl:when test='string-length($collection) = 0'> ! <xsl:text>_ptr</xsl:text> </xsl:when> <xsl:otherwise> ! <xsl:text>*</xsl:text> </xsl:otherwise> </xsl:choose> Index: common_code.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/common_code.xsl,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -r1.8 -r1.9 *** common_code.xsl 2001/09/27 21:51:09 1.8 --- common_code.xsl 2001/12/01 19:25:23 1.9 *************** *** 189,214 **** ! <!-- Template for mangling names. ! Special care must be taken to process idl_substitute name tags. --> - - <xsl:template match="Model:Tag" mode="mangle-name"> - <xsl:param name="the_xmi_id"/> <xsl:choose> ! <xsl:when test='contains(@elements," ")'> ! <xsl:if test='substring-before(@elements," ") = $the_xmi_id'> ! <xsl:value-of select="@name"/> ! </xsl:if> ! <xsl:if test='substring-after(@elements," ") = $the_xmi_id'> ! <xsl:value-of select="@name"/> ! </xsl:if> </xsl:when> <xsl:otherwise> ! <xsl:if test='@elements = $the_xmi_id'> ! <xsl:value-of select="@name"/> ! </xsl:if> </xsl:otherwise> </xsl:choose> </xsl:template> --- 189,238 ---- ! <!-- Template for testing space separated lists. --> + <xsl:template name="list-contains"> + <xsl:param name="the_list"/> + <xsl:param name="the_item"/> <xsl:choose> ! <xsl:when test='contains($the_list, " ")'> ! <xsl:choose> ! <xsl:when test='starts-with($the_list, $the_item)'> ! <xsl:value-of select="true()"/> ! </xsl:when> ! <xsl:otherwise> ! <xsl:call-template name="list-contains"> ! <xsl:with-param name="the_list" ! select='substring-after($the_list," ")'/> ! <xsl:with-param name="the_item" select="$the_item"/> ! </xsl:call-template> ! </xsl:otherwise> ! </xsl:choose> </xsl:when> <xsl:otherwise> ! <xsl:value-of select="$the_list = $the_item"/> </xsl:otherwise> </xsl:choose> + + </xsl:template> + + + <!-- Template for mangling names. + Special care must be taken to process idl_substitute name tags. + --> + + + <xsl:template match="Model:Tag" mode="mangle-name"> + <xsl:param name="the_xmi_id"/> + <xsl:variable name="elems" select="@elements"/> + <xsl:variable name="elems_contains_xmi_id"> + <xsl:call-template name="list-contains"> + <xsl:with-param name="the_list" select="$elems"/> + <xsl:with-param name="the_item" select="$the_xmi_id"/> + </xsl:call-template> + </xsl:variable> + <xsl:if test='$elems_contains_xmi_id="true"'> + <xsl:value-of select='@name'/> + </xsl:if> </xsl:template> *************** *** 278,281 **** --- 302,333 ---- </xsl:if> + </xsl:template> + + + + <!-- Templates for finding a nodes package. --> + <!-- These use the package_name mode and setup the package_name variable. --> + + <xsl:template match="*" mode="package_name"/> + + <xsl:template + match="Model:DataType.typeCode | XMI.CorbaTcAlias | XMI.CorbaTypeCode" + mode="package_name"> + <xsl:apply-templates mode="package_name"/> + </xsl:template> + + <xsl:template match="XMI.CorbaTcBoolean" mode="package_name"> + <xsl:text>CORBA</xsl:text> + </xsl:template> + + <xsl:template match="XMI.CorbaTcEnum" mode="package_name"> + <xsl:text>DataTypes</xsl:text> + </xsl:template> + + <xsl:template match="Model:Class" mode="package_name"> + <xsl:call-template name="toName"> + <xsl:with-param name="text" select="ancestor::Model:Package/@name"/> + <xsl:with-param name="position" select="1"/> + </xsl:call-template> </xsl:template> Index: gen_assoc_ccs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_assoc_ccs.xsl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** gen_assoc_ccs.xsl 2001/10/31 22:40:38 1.2 --- gen_assoc_ccs.xsl 2001/12/01 19:25:23 1.3 *************** *** 12,15 **** --- 12,350 ---- + <xsl:template name="single-nav-impl"> + <xsl:param name="end"/> + <xsl:param name="retv_param_package"/> + <xsl:param name="retv_param_type"/> + <xsl:param name="retv_collection_kind"/> + <xsl:param name="assoc_name"/> + <xsl:param name="func_name"/> [...1136 lines suppressed...] ! <xsl:value-of select="$assoc_end2_name"/> <xsl:text> ) </xsl:text> <xsl:text>throw( </xsl:text> *************** *** 675,681 **** <xsl:text> i != fc_ref_all_links.end(); i++) </xsl:text> <xsl:text> { if ((*i)[0] == </xsl:text> ! <xsl:value-of select="$assoc_end1_type_name"/> <xsl:text> && (*i)[1] == </xsl:text> ! <xsl:value-of select="$assoc_end2_type_name"/> <xsl:text>) </xsl:text> <xsl:text> { fc_ref_all_links.erase(i); </xsl:text> --- 963,969 ---- <xsl:text> i != fc_ref_all_links.end(); i++) </xsl:text> <xsl:text> { if ((*i)[0] == </xsl:text> ! <xsl:value-of select="$assoc_end1_name"/> <xsl:text> && (*i)[1] == </xsl:text> ! <xsl:value-of select="$assoc_end2_name"/> <xsl:text>) </xsl:text> <xsl:text> { fc_ref_all_links.erase(i); </xsl:text> Index: gen_assoc_hs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_assoc_hs.xsl,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** gen_assoc_hs.xsl 2001/09/27 21:51:09 1.4 --- gen_assoc_hs.xsl 2001/12/01 19:25:23 1.5 *************** *** 14,20 **** <xsl:template name="ASSOCIATION"> <xsl:param name="assocName"/> ! <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="ASSOC_NAME"> <xsl:call-template name="to_upper"> --- 14,22 ---- <xsl:template name="ASSOCIATION"> <xsl:param name="assocName"/> [...577 lines suppressed...] ! <xsl:value-of select="$assocEnd2PackageName"/> ! <xsl:text>::</xsl:text> <xsl:value-of select="$assocEnd2TypeName"/> <xsl:text>_ptr </xsl:text> *************** *** 627,633 **** <xalan:write select="$filename"> <xsl:call-template name="ASSOCIATION"> ! <xsl:with-param name="assocName"> ! <xsl:value-of select="$assocName"/> ! </xsl:with-param> </xsl:call-template> </xalan:write> --- 749,754 ---- <xalan:write select="$filename"> <xsl:call-template name="ASSOCIATION"> ! <xsl:with-param name="assocName" select="$assocName"/> ! <xsl:with-param name="package_name" select="$package_name"/> </xsl:call-template> </xalan:write> |
From: Gerard F. <ger...@us...> - 2001-11-18 21:22:21
|
Update of /cvsroot/kuml/kuml/libkuml/mof In directory usw-pr-cvs1:/tmp/cvs-serv12504 Modified Files: ChangeLog Generic.cpp Generic.hh KumlUtilities.cpp KumlUtilities.hh Makefile MofIdlReverseMapper.cpp copyright.txt test_client.cpp Added Files: InterfaceGen.cpp InterfaceGen.hh MofGenericImplementer.cpp MofGenericImplementer.hh MofGenericImplementer.t.cpp Log Message: 2001-11-18 Gerard Flynn <ger...@fr...> * Added InterfaceGen.hh and InterfaceGen.cpp * Added implementations for GenericClassProxy::attribute, operation, reference and superClass lookup methods to Generic.cpp * Added MofGenericImplementer.hh and .cpp and .t.cpp VS: Committing in . VS: VS: Modified Files: VS: ChangeLog Generic.cpp Generic.hh KumlUtilities.cpp VS: KumlUtilities.hh Makefile MofIdlReverseMapper.cpp VS: copyright.txt test_client.cpp VS: Added Files: VS: InterfaceGen.cpp InterfaceGen.hh MofGenericImplementer.cpp VS: MofGenericImplementer.hh MofGenericImplementer.t.cpp VS: gen/.cvsignore VS: ---------------------------------------------------------------------- ***** Error reading new file: [Errno 2] No such file or directory: 'InterfaceGen.cpp' ***** Error reading new file: [Errno 2] No such file or directory: 'InterfaceGen.hh' ***** Error reading new file: [Errno 2] No such file or directory: 'MofGenericImplementer.cpp' ***** Error reading new file: [Errno 2] No such file or directory: 'MofGenericImplementer.hh' ***** Error reading new file: [Errno 2] No such file or directory: 'MofGenericImplementer.t.cpp' Index: ChangeLog =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/ChangeLog,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** ChangeLog 2001/08/03 02:03:05 1.5 --- ChangeLog 2001/11/18 21:22:18 1.6 *************** *** 1,4 **** --- 1,11 ---- $Header$ + 2001-11-18 Gerard Flynn <ger...@fr...> + * Added InterfaceGen.hh and InterfaceGen.cpp + * Added implementations for GenericClassProxy::attribute, + operation, reference and superClass lookup methods to + Generic.cpp + * Added MofGenericImplementer.hh and .cpp and .t.cpp + 2001-8-3 Gerard Flynn <ger...@fr...> * Added test_client Index: Generic.cpp =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/Generic.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** Generic.cpp 2001/08/03 02:03:05 1.5 --- Generic.cpp 2001/11/18 21:22:18 1.6 *************** *** 1100,1103 **** --- 1100,1140 ---- } + GenericAttribute* GenericClassProxy::attribute( const string& name ) + { + featureMapIterator p = m_attributeNames.find( name ); + if( p == m_attributeNames.end() ) { + return 0; + } + return dynamic_cast<GenericAttribute*>( p->second->feature ); + } + + GenericReference* GenericClassProxy::reference( const string& name ) + { + featureMapIterator p = m_referenceNames.find( name ); + if( p == m_referenceNames.end() ) { + return 0; + } + return dynamic_cast<GenericReference*>( p->second->feature ); + } + + GenericClassProxy* GenericClassProxy::superClass( const string& name ) + { + classMapIterator p = m_superClassNames.find( name ); + if( p == m_superClassNames.end() ) { + return 0; + } + return p->second; + } + + GenericOperation* GenericClassProxy::operation( const string& name ) + { + featureMapIterator p = m_operationNames.find( name ); + if( p == m_operationNames.end() ) { + return 0; + } + return dynamic_cast<GenericOperation*>( p->second->feature ); + } + + stringVect GenericClassProxy::instanceLevelAttributeNames() { *************** *** 1130,1133 **** --- 1167,1211 ---- } + stringVect GenericClassProxy::superClassNames() + { + stringVect retvect; + for( constClassVect::iterator p = m_superClasses.begin(); + p != m_superClasses.end(); ++p ) + { + retvect.push_back( (*p)->name() ); + } + return retvect; + } + + stringVect GenericClassProxy::instanceLevelOperationNames() + { + stringVect retvect; + featureVect::const_iterator p; + for( p = m_instanceLevelFeatures.begin(); + p != m_instanceLevelFeatures.end(); ++p ) + { + GenericOperation* op = dynamic_cast<GenericOperation*>( (*p)->feature ); + if( op ) { + retvect.push_back( op->name() ); + } + } + return retvect; + } + + stringVect GenericClassProxy::classifierLevelOperationNames() + { + stringVect retvect; + featureVect::const_iterator p; + for( p = m_classifierLevelFeatures.begin(); + p != m_classifierLevelFeatures.end(); ++p ) + { + GenericOperation* op = dynamic_cast<GenericOperation*>( (*p)->feature ); + if( op ) { + retvect.push_back( op->name() ); + } + } + return retvect; + } + void GenericClassProxy::createServant() { *************** *** 1258,1262 **** const CORBA::TypeCode* collection_type ) :GenericFeature( name, kind, scope, 0 ), ! m_multiplicity(multiplicity) { m_base_type = *base_type; --- 1336,1341 ---- const CORBA::TypeCode* collection_type ) :GenericFeature( name, kind, scope, 0 ), ! m_isChangeable( isChangeable ), ! m_multiplicity( multiplicity ) { m_base_type = *base_type; *************** *** 1374,1380 **** --- 1453,1469 ---- } + CORBA::TypeCode* GenericStructuralFeature::baseType() + { + return &m_base_type; + } + CORBA::TypeCode* GenericStructuralFeature::collectionType() { return &m_collection_type; + } + + bool GenericStructuralFeature::isChangeable() const + { + return m_isChangeable; } Index: Generic.hh =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/Generic.hh,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** Generic.hh 2001/08/03 02:03:05 1.5 --- Generic.hh 2001/11/18 21:22:18 1.6 *************** *** 470,473 **** --- 470,478 ---- stringVect classifierLevelAttributeNames(); + stringVect superClassNames(); + + stringVect instanceLevelOperationNames(); + + stringVect classifierLevelOperationNames(); public: // MOF operations. (Value operations implemented in GenericInstance). GenericInstanceSet all_objects( bool includeSubtypes ); *************** *** 769,774 **** --- 774,782 ---- bool checkType( const Reflective::ValueType& element ); + CORBA::TypeCode* baseType(); + CORBA::TypeCode* collectionType(); + bool isChangeable() const; protected: CORBA::TypeCode m_base_type; Index: KumlUtilities.cpp =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/KumlUtilities.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** KumlUtilities.cpp 2001/06/30 07:31:26 1.1 --- KumlUtilities.cpp 2001/11/18 21:22:18 1.2 *************** *** 24,28 **** /* ****************************************************************************/ ! /* $Header$ */ #include "KumlUtilities.hh" --- 24,30 ---- /* ****************************************************************************/ ! /* ! $Header$ ! */ #include "KumlUtilities.hh" Index: KumlUtilities.hh =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/KumlUtilities.hh,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** KumlUtilities.hh 2001/06/30 07:31:26 1.1 --- KumlUtilities.hh 2001/11/18 21:22:18 1.2 *************** *** 24,28 **** /* ****************************************************************************/ ! /* $Header$ */ #ifndef KumlUtilities_H_IS_INCUDED --- 24,30 ---- /* ****************************************************************************/ ! /* ! $Header$ ! */ #ifndef KumlUtilities_H_IS_INCUDED *************** *** 71,74 **** --- 73,131 ---- int m_nmatches; }; // class RegularExpression. + + class Indenter + { + friend ostream& operator<<( ostream& os, const Indenter& ind ); + public: + Indenter() + :m_baseLevel(0), + m_currentLevel(0) + {} + + Indenter& operator++() + { + m_currentLevel++; + return *this; + } + + Indenter& operator+=( int i ) + { + m_currentLevel += i; + return *this; + } + + Indenter& operator--() + { + m_currentLevel--; + return *this; + } + + Indenter& operator-=( int i ) + { + m_currentLevel -= i; + return *this; + } + + void setBaseLevel( int i ) { m_baseLevel = i; restoreBaseLevel(); } + + void setCurrentLevel( int i ) { m_currentLevel = i; }; + + void restoreBaseLevel() { m_currentLevel = m_baseLevel; } + + void addToBaseLevel( int i ) { m_baseLevel += i; restoreBaseLevel(); } + private: + int m_baseLevel; + + int m_currentLevel; + }; // End of class Indenter. + + inline ostream& operator<< ( ostream& os, const Indenter& ind ) + { + for( int i = 0; i < ind.m_currentLevel; i++ ) { + os << " "; + } + return os; + } + } // namespace KumlUtilities. Index: Makefile =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/Makefile,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** Makefile 2001/08/03 02:03:05 1.5 --- Makefile 2001/11/18 21:22:18 1.6 *************** *** 9,13 **** CPPFLAGS = ${CXXFLAGS} ! all : RegularExpression.t RepoManager.t test_client #Generic.t : Generic.t.o Generic.o Reflective.o Reflective_impl.o GenericTest.o GenericTest.h \ --- 9,13 ---- CPPFLAGS = ${CXXFLAGS} ! all : RegularExpression.t RepoManager.t test_client MofGenericImplementer.t #Generic.t : Generic.t.o Generic.o Reflective.o Reflective_impl.o GenericTest.o GenericTest.h \ *************** *** 40,43 **** --- 40,47 ---- test_client_OBJECTS = test_client.o Reflective.o mCorba.o + MofGenericImplementer_t_OBJECTS = MofGenericImplementer.t.o MofGenericImplementer.o \ + Generic.o mCorba.o Reflective.o Reflective_impl.o MetaModelManager.o KumlUtilities.o \ + InterfaceGen.o + RepoManager.t : ${RepoManager_t_OBJECTS} g++ -o $@ $^ ${LIBS} *************** *** 46,49 **** --- 50,55 ---- g++ -o $@ $^ ${LIBS} + MofGenericImplementer.t : ${MofGenericImplementer_t_OBJECTS} + g++ -o $@ $^ ${LIBS} RegularExpression.t : RegularExpression.t.o KumlUtilities.o *************** *** 96,103 **** rm -f *.o Generic.t yacc.cc.h yacc.h scanner.cc yacc.cc rm -f MofIdlMapping.t RegularExpression.t RepoManager.t rm -f *.d rm -f yacc.cc.output ! OBJECTS = ${RepoManager_t_OBJECTS} include $(OBJECTS:.o=.d) --- 102,110 ---- rm -f *.o Generic.t yacc.cc.h yacc.h scanner.cc yacc.cc rm -f MofIdlMapping.t RegularExpression.t RepoManager.t + rm -f MofGenericImplementer.t rm -f *.d rm -f yacc.cc.output ! OBJECTS = ${RepoManager_t_OBJECTS} ${MofGenericImplemnter_t_OBJECTS} include $(OBJECTS:.o=.d) Index: MofIdlReverseMapper.cpp =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/MofIdlReverseMapper.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** MofIdlReverseMapper.cpp 2001/07/15 11:14:31 1.4 --- MofIdlReverseMapper.cpp 2001/11/18 21:22:18 1.5 *************** *** 165,169 **** } else { // real operation ! } --- 165,169 ---- } else { // real operation ! // Add opMapper to our real-op list. } *************** *** 493,503 **** // Add operations - // Not implemented yet. // Add super-classes - - // Not implemented yet - cerr << "Before parent adding loop" << endl; Interface::stringSet parent_names = p_interface->getParentNames(); --- 493,499 ---- Index: copyright.txt =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/copyright.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** copyright.txt 2001/06/22 03:42:04 1.1 --- copyright.txt 2001/11/18 21:22:18 1.2 *************** *** 24,25 **** --- 24,28 ---- /* ****************************************************************************/ + /* + $Header$ + */ Index: test_client.cpp =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/test_client.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** test_client.cpp 2001/08/03 21:32:38 1.1 --- test_client.cpp 2001/11/18 21:22:18 1.2 *************** *** 50,53 **** --- 50,60 ---- assert( ! CORBA::is_nil( refObj.in() ) ); + + Reflective::RefPackage_var modelPackage = Reflective::RefPackage::_narrow( refObj.in() ); + assert( ! CORBA::is_nil( modelPackage.in() ) ); + + Reflective::RefObject_var meta_modelPackage = modelPackage->ref_meta_object(); + assert( ! CORBA::is_nil( meta_modelPackage.in() ) ); + cerr << "End (test_client)" << endl; return 0; |
From: Gerard F. <ger...@us...> - 2001-11-18 21:22:21
|
Update of /cvsroot/kuml/kuml/libkuml/mof/gen In directory usw-pr-cvs1:/tmp/cvs-serv12504/gen Added Files: .cvsignore Log Message: 2001-11-18 Gerard Flynn <ger...@fr...> * Added InterfaceGen.hh and InterfaceGen.cpp * Added implementations for GenericClassProxy::attribute, operation, reference and superClass lookup methods to Generic.cpp * Added MofGenericImplementer.hh and .cpp and .t.cpp VS: Committing in . VS: VS: Modified Files: VS: ChangeLog Generic.cpp Generic.hh KumlUtilities.cpp VS: KumlUtilities.hh Makefile MofIdlReverseMapper.cpp VS: copyright.txt test_client.cpp VS: Added Files: VS: InterfaceGen.cpp InterfaceGen.hh MofGenericImplementer.cpp VS: MofGenericImplementer.hh MofGenericImplementer.t.cpp VS: gen/.cvsignore VS: ---------------------------------------------------------------------- --- NEW FILE --- |
From: Gerard F. <ger...@us...> - 2001-11-18 21:19:18
|
Update of /cvsroot/kuml/kuml/libkuml/mof/gen In directory usw-pr-cvs1:/tmp/cvs-serv12021/gen Log Message: Directory /cvsroot/kuml/kuml/libkuml/mof/gen added to the repository |
From: Chris M. <zm...@us...> - 2001-10-31 22:40:41
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools In directory usw-pr-cvs1:/tmp/cvs-serv17661 Modified Files: gen_assoc_ccs.xsl gen_class_ccs.xsl gen_class_hs.xsl Log Message: Associations partially done. Improved scalability of class generation (more recursion!) Index: gen_assoc_ccs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_assoc_ccs.xsl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** gen_assoc_ccs.xsl 2001/09/27 21:51:09 1.1 --- gen_assoc_ccs.xsl 2001/10/31 22:40:38 1.2 *************** *** 39,42 **** --- 39,67 ---- </xsl:variable> + + <xsl:variable name="t2assoc_end1_name"> + <xsl:call-template name="get_name"> + <xsl:with-param name="the_xmi_id" select="./Model:Namespace.contents/Model:AssociationEnd[position()=1]/@xmi.id"/> + <xsl:with-param name="the_name" select="./Model:Namespace.contents/Model:AssociationEnd[position()=1]/@name"/> + </xsl:call-template> + </xsl:variable> [...527 lines suppressed...] --- 671,689 ---- <xsl:text> ::Reflective::NotFound, </xsl:text> <xsl:text> ::Reflective::MofError) </xsl:text> ! ! <xsl:text>{ for(list<Reflective::Link>::iterator i = fc_ref_all_links.begin(); </xsl:text> ! <xsl:text> i != fc_ref_all_links.end(); i++) </xsl:text> ! <xsl:text> { if ((*i)[0] == </xsl:text> ! <xsl:value-of select="$assoc_end1_type_name"/> ! <xsl:text> && (*i)[1] == </xsl:text> ! <xsl:value-of select="$assoc_end2_type_name"/> ! <xsl:text>) </xsl:text> ! <xsl:text> { fc_ref_all_links.erase(i); </xsl:text> ! <xsl:text> return; </xsl:text> ! <xsl:text> } </xsl:text> ! <xsl:text> } </xsl:text> ! <xsl:text> throw ::Reflective::NotFound(); </xsl:text> ! <xsl:text>} </xsl:text> ! <xsl:text> </xsl:text> Index: gen_class_ccs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_class_ccs.xsl,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** gen_class_ccs.xsl 2001/09/10 22:09:32 1.7 --- gen_class_ccs.xsl 2001/10/31 22:40:38 1.8 *************** *** 35,41 **** </xsl:variable> - <xsl:variable name="supertypes" select="@supertypes"/> - <xsl:variable name="superclass" select="/descendant::Model:Class[@xmi.id=$supertypes]/@name"/> - <!-- Includes. --> --- 35,38 ---- *************** *** 135,141 **** <!-- Define the value of the CORBA_type variable by applying templates ! in the type_name mode to the Model:DataType.typeCode child of a ! Model:DataType descendant of the root node whos xmi.id attribute ! matches type_ref. --> <xsl:variable name="CORBA_type"> --- 132,137 ---- <!-- Define the value of the CORBA_type variable by applying templates ! in the type_name mode to the descendant of the root node whos xmi.id ! attribute matches type_ref. --> <xsl:variable name="CORBA_type"> *************** *** 155,161 **** select="./Model:StructuralFeature.multiplicity/XMI.field[position()=4]"/> ! <!-- Define the value of the CORBA_type variable by applying templates in the type_name mode to the descendant of the root node whos xmi.id ! attribute matches type_ref. --> <xsl:variable name="CORBA_set_type"> --- 151,157 ---- select="./Model:StructuralFeature.multiplicity/XMI.field[position()=4]"/> ! <!-- Define the value of the CORBA_set_type variable by applying templates in the type_name mode to the descendant of the root node whos xmi.id ! attribute matches type_ref but only if the multiplicity is "many". --> <xsl:variable name="CORBA_set_type"> *************** *** 517,521 **** </xsl:if> ! <xsl:if test='($upper > 1 or $upper = -1) and $upper != $lower and $is_changeable="true" and $is_ordered="true" and $is_unique+"false"'> <!-- void remove_ <attribute_name>_at ( --- 513,517 ---- </xsl:if> ! <xsl:if test='($upper > 1 or $upper = -1) and $upper != $lower and $is_changeable="true" and $is_ordered="true" and $is_unique="false"'> <!-- void remove_ <attribute_name>_at ( Index: gen_class_hs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_class_hs.xsl,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** gen_class_hs.xsl 2001/09/10 22:09:32 1.7 --- gen_class_hs.xsl 2001/10/31 22:40:38 1.8 *************** *** 34,38 **** <xsl:template match="Model:Class" mode="include"> - <xsl:variable name="classname" select="@name"/> <xsl:text>#include "</xsl:text> <xsl:value-of select="@name"/> --- 34,37 ---- *************** *** 45,68 **** <xsl:template name="include-supertypes"> ! <xsl:if test="count(attribute::supertypes) > 0"> ! <xsl:variable name="supertypes" select="@supertypes"/> ! <xsl:choose> ! <xsl:when test='contains(@supertypes," ")'> ! <xsl:apply-templates mode="include" ! select='/descendant::Model:Class[@xmi.id=substring-before($supertypes," ")]'/> ! <xsl:apply-templates mode="include" ! select='/descendant::Model:Class[@xmi.id=substring-after($supertypes," ")]'/> ! </xsl:when> ! <xsl:otherwise> ! <xsl:apply-templates mode="include" ! select='/descendant::Model:Class[@xmi.id=$supertypes]'/> ! </xsl:otherwise> ! </xsl:choose> ! </xsl:if> </xsl:template> --- 44,68 ---- <xsl:template name="include-supertypes"> ! <xsl:param name="st_xmi_ids"/> ! ! <xsl:choose> ! <xsl:when test='contains($st_xmi_ids," ")'> ! <xsl:apply-templates mode="include" ! select='/descendant::Model:Class[@xmi.id=substring-before($st_xmi_ids," ")]'/> ! <xsl:call-template name="include-supertypes"> ! <xsl:with-param name="st_xmi_ids" ! select='substring-after($st_xmi_ids," ")'/> ! </xsl:call-template> ! </xsl:when> ! <xsl:otherwise> ! <xsl:apply-templates mode="include" ! select='/descendant::Model:Class[@xmi.id=$st_xmi_ids]'/> ! </xsl:otherwise> ! </xsl:choose> </xsl:template> *************** *** 96,109 **** <xsl:template name="inherits"> ! <xsl:if test="count(attribute::supertypes) > 0"> ! <xsl:variable name="supertypes" select="@supertypes"/> <xsl:choose> ! <xsl:when test='contains(@supertypes," ")'> <xsl:apply-templates mode="inherit" ! select='/descendant::Model:Class[@xmi.id=substring-before($supertypes," ")]'/> ! <xsl:apply-templates mode="inherit" ! select='/descendant::Model:Class[@xmi.id=substring-after($supertypes," ")]'/> </xsl:when> --- 96,111 ---- <xsl:template name="inherits"> ! <xsl:param name="st_xmi_ids"/> ! <xsl:choose> ! <xsl:when test='contains($st_xmi_ids," ")'> <xsl:apply-templates mode="inherit" ! select='/descendant::Model:Class[@xmi.id=substring-before($st_xmi_ids," ")]'/> ! <xsl:call-template name="inherits"> ! <xsl:with-param name="st_xmi_ids" ! select='substring-after($st_xmi_ids," ")'/> ! </xsl:call-template> </xsl:when> *************** *** 111,119 **** <xsl:apply-templates mode="inherit" ! select='/descendant::Model:Class[@xmi.id=$supertypes]'/> </xsl:otherwise> </xsl:choose> ! </xsl:if> </xsl:template> --- 113,121 ---- <xsl:apply-templates mode="inherit" ! select='/descendant::Model:Class[@xmi.id=$st_xmi_ids]'/> </xsl:otherwise> </xsl:choose> ! </xsl:template> *************** *** 249,253 **** <xsl:text> </xsl:text> ! <xsl:call-template name="include-supertypes"/> <xsl:text>#include "Core.h" </xsl:text> --- 251,259 ---- <xsl:text> </xsl:text> ! <xsl:if test="count(attribute::supertypes) > 0"> ! <xsl:call-template name="include-supertypes"> ! <xsl:with-param name="st_xmi_ids" select="@supertypes"/> ! </xsl:call-template> ! </xsl:if> <xsl:text>#include "Core.h" </xsl:text> *************** *** 267,271 **** <xsl:text>Class_impl, </xsl:text> ! <xsl:call-template name="inherits"/> <xsl:text> virtual public POA_</xsl:text> --- 273,281 ---- <xsl:text>Class_impl, </xsl:text> ! <xsl:if test="count(attribute::supertypes) > 0"> ! <xsl:call-template name="inherits"> ! <xsl:with-param name="st_xmi_ids" select="@supertypes"/> ! </xsl:call-template> ! </xsl:if> <xsl:text> virtual public POA_</xsl:text> |
From: Chris M. <zm...@us...> - 2001-09-27 21:51:12
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools In directory usw-pr-cvs1:/tmp/cvs-serv10157 Modified Files: common_code.xsl common_proxy_code.xsl gen_assoc_hs.xsl gen_proxy_ccs.xsl Added Files: common_assoc_code.xsl gen_assoc_ccs.xsl Log Message: Associations compile but do nothing. --- NEW FILE --- <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="org.apache.xalan.xslt.extensions.Redirect" xmlns:Model="omg.org/mof.Model/1.3" extension-element-prefixes="xalan" version="1.0" > <xsl:template name="assoc_collection_name"> <xsl:param name="lower"/> <xsl:param name="upper"/> <xsl:param name="is_ordered"/> <xsl:param name="is_unique"/> <xsl:param name="aggregation"/> <xsl:variable name="collection"> <xsl:call-template name="collection_name"> <xsl:with-param name="lower"> <xsl:value-of select="$lower"/> </xsl:with-param> <xsl:with-param name="upper"> <xsl:value-of select="$upper"/> </xsl:with-param> <xsl:with-param name="is_ordered"> <xsl:value-of select="$is_ordered"/> </xsl:with-param> <xsl:with-param name="is_unique"> <xsl:value-of select="$is_unique"/> </xsl:with-param> </xsl:call-template> </xsl:variable> <xsl:choose> <!-- Why? --> <xsl:when test='$collection = "Bag"'> <xsl:text>_ptr </xsl:text> </xsl:when> <xsl:when test='string-length($collection) = 0'> <xsl:text>_ptr </xsl:text> </xsl:when> <xsl:otherwise> <xsl:value-of select="$collection"/> <xsl:text>* </xsl:text> </xsl:otherwise> </xsl:choose> </xsl:template> </xsl:transform> --- NEW FILE --- <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xalan="org.apache.xalan.xslt.extensions.Redirect" xmlns:Model="omg.org/mof.Model/1.3" extension-element-prefixes="xalan" version="1.0" > <xsl:include href="common_code.xsl"/> <xsl:include href="common_assoc_code.xsl"/> <xsl:template name="ASSOCIATION"> <xsl:param name="assocName"/> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="ASSOC_NAME"> [...547 lines suppressed...] <xsl:text>../</xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>/</xsl:text> <xsl:value-of select="$assocName"/> <xsl:text>_impl.cc</xsl:text> </xsl:variable> <xalan:write select="$filename"> <xsl:call-template name="ASSOCIATION"> <xsl:with-param name="assocName"> <xsl:value-of select="$assocName"/> </xsl:with-param> </xsl:call-template> </xalan:write> </xsl:if> </xsl:template> </xsl:transform> Index: common_code.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/common_code.xsl,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** common_code.xsl 2001/07/26 21:18:43 1.7 --- common_code.xsl 2001/09/27 21:51:09 1.8 *************** *** 245,281 **** <xsl:template name="collection_name"> - <xsl:variable name="lower" - select="./Model:StructuralFeature.multiplicity/XMI.field[position()=1]"/> - <xsl:variable name="upper" - select="./Model:StructuralFeature.multiplicity/XMI.field[position()=2]"/> - <xsl:if test='not($lower=1 and $upper=1)'> - <xsl:variable name="is_ordered" - select="./Model:StructuralFeature.multiplicity/XMI.field[position()=3]"/> - <xsl:variable name="is_unique" - select="./Model:StructuralFeature.multiplicity/XMI.field[position()=4]"/> - <xsl:choose> <xsl:when test='$lower=0 and $upper=1'> ! <xsl:text>Bag&</xsl:text> </xsl:when> <xsl:when test='$is_ordered="false" and $is_unique="false"'> ! <xsl:text>Bag&</xsl:text> </xsl:when> <xsl:when test='$is_ordered="true" and $is_unique="false"'> ! <xsl:text>List&</xsl:text> </xsl:when> <xsl:when test='$is_ordered="false" and $is_unique="true"'> ! <xsl:text>Set&</xsl:text> </xsl:when> ! <xsl:when test='$is_ordered="false" and $is_unique="false"'> ! <xsl:text>UList&</xsl:text> </xsl:when> --- 245,275 ---- <xsl:template name="collection_name"> + <xsl:param name="lower"/> + <xsl:param name="upper"/> + <xsl:param name="is_ordered"/> + <xsl:param name="is_unique"/> <xsl:if test='not($lower=1 and $upper=1)'> <xsl:choose> <xsl:when test='$lower=0 and $upper=1'> ! <xsl:text>Bag</xsl:text> </xsl:when> <xsl:when test='$is_ordered="false" and $is_unique="false"'> ! <xsl:text>Bag</xsl:text> </xsl:when> <xsl:when test='$is_ordered="true" and $is_unique="false"'> ! <xsl:text>List</xsl:text> </xsl:when> <xsl:when test='$is_ordered="false" and $is_unique="true"'> ! <xsl:text>Set</xsl:text> </xsl:when> ! <xsl:when test='$is_ordered="true" and $is_unique="true"'> ! <xsl:text>UList</xsl:text> </xsl:when> Index: common_proxy_code.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/common_proxy_code.xsl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** common_proxy_code.xsl 2001/09/10 22:09:32 1.2 --- common_proxy_code.xsl 2001/09/27 21:51:09 1.3 *************** *** 51,54 **** --- 51,55 ---- <xsl:value-of select="$type_name"/> <xsl:value-of select="$collection"/> + <xsl:text>&</xsl:text> </xsl:when> <xsl:otherwise> *************** *** 86,89 **** --- 87,93 ---- <xsl:value-of select="@xmi.tcName"/> <xsl:value-of select="$collection"/> + <xsl:if test='not(string-length($collection) = 0)'> + <xsl:text>&</xsl:text> + </xsl:if> </xsl:template> *************** *** 129,132 **** --- 133,137 ---- <xsl:when test='not(string-length($collection) = 0)'> <xsl:value-of select="$collection"/> + <xsl:text>&</xsl:text> </xsl:when> <xsl:otherwise> *************** *** 163,167 **** <xsl:variable name="collection"> ! <xsl:call-template name="collection_name"/> </xsl:variable> --- 168,181 ---- <xsl:variable name="collection"> ! <xsl:call-template name="collection_name"> ! <xsl:with-param name="lower" ! select="./Model:StructuralFeature.multiplicity/XMI.field[position()=1]"/> ! <xsl:with-param name="upper" ! select="./Model:StructuralFeature.multiplicity/XMI.field[position()=2]"/> ! <xsl:with-param name="is_ordered" ! select="./Model:StructuralFeature.multiplicity/XMI.field[position()=3]"/> ! <xsl:with-param name="is_unique" ! select="./Model:StructuralFeature.multiplicity/XMI.field[position()=4]"/> ! </xsl:call-template> </xsl:variable> Index: gen_assoc_hs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_assoc_hs.xsl,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** gen_assoc_hs.xsl 2001/09/10 22:09:32 1.3 --- gen_assoc_hs.xsl 2001/09/27 21:51:09 1.4 *************** *** 9,12 **** --- 9,13 ---- <xsl:include href="common_code.xsl"/> + <xsl:include href="common_assoc_code.xsl"/> *************** *** 33,45 **** </xsl:variable> <!-- Get association end 1 --> <xsl:variable name="assocEnd1Name"> <xsl:value-of select='./Model:Namespace.contents/Model:AssociationEnd[position()=1]/@name'/> </xsl:variable> ! <xsl:variable name="assoc_end1_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> ! <xsl:value-of select="$assocEnd1Name"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> --- 34,65 ---- </xsl:variable> + <!-- Get association end 1 --> + + <xsl:variable name="assocEnd1Name"> <xsl:value-of select='./Model:Namespace.contents/Model:AssociationEnd[position()=1]/@name'/> </xsl:variable> ! <xsl:variable name="assocEnd1Type"> ! <xsl:value-of select='./Model:Namespace.contents/Model:AssociationEnd[position()=1]/@type'/> ! </xsl:variable> ! ! <xsl:variable name="assocEnd1TypeName"> ! <xsl:call-template name="get_name"> ! <xsl:with-param name="the_xmi_id"> ! <xsl:value-of select="$assocEnd1Type"/> ! </xsl:with-param> ! <xsl:with-param name="the_name"> ! <xsl:value-of ! select='/descendant::Model:Class[@xmi.id=$assocEnd1Type]/@name'/> ! </xsl:with-param> ! </xsl:call-template> ! </xsl:variable> ! ! <xsl:variable name="tassoc_end1_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> ! <xsl:value-of select="$assocEnd1TypeName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> *************** *** 47,56 **** </xsl:variable> ! <xsl:variable name="assocEnd1Type"> ! <xsl:value-of select='./Model:Namespace.contents/Model:AssociationEnd[position()=1]/@type'/> ! </xsl:variable> ! ! <xsl:variable name="assocEnd1TypeName"> ! <xsl:value-of select='/descendant::Model:Class[@xmi.id=$assocEnd1Type]/@name'/> </xsl:variable> --- 67,76 ---- </xsl:variable> ! <xsl:variable name="assoc_end1_name"> ! <xsl:call-template name="reserved-word-processing"> ! <xsl:with-param name="the_word"> ! <xsl:value-of select="$tassoc_end1_name"/> ! </xsl:with-param> ! </xsl:call-template> </xsl:variable> *************** *** 63,66 **** --- 83,90 ---- </xsl:variable> + <xsl:variable name="assocEnd1_lower"> + <xsl:value-of select='./Model:Namespace.contents/Model:AssociationEnd[position()=1]/Model:AssociationEnd.multiplicity/XMI.field[position()=1]'/> + </xsl:variable> + <xsl:variable name="assocEnd1_upper"> <xsl:value-of select='./Model:Namespace.contents/Model:AssociationEnd[position()=1]/Model:AssociationEnd.multiplicity/XMI.field[position()=2]'/> *************** *** 71,94 **** </xsl:variable> <!-- Get association end 2 --> <xsl:variable name="assocEnd2Name"> <xsl:value-of select='./Model:Namespace.contents/Model:AssociationEnd[position()=2]/@name'/> </xsl:variable> ! <xsl:variable name="assoc_end2_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> ! <xsl:value-of select="$assocEnd2Name"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> - - <xsl:variable name="assocEnd2Type"> - <xsl:value-of select='./Model:Namespace.contents/Model:AssociationEnd[position()=2]/@type'/> - </xsl:variable> ! <xsl:variable name="assocEnd2TypeName"> ! <xsl:value-of select='/descendant::Model:Class[@xmi.id=$assocEnd2Type]/@name'/> </xsl:variable> --- 95,161 ---- </xsl:variable> + <xsl:variable name="assocEnd1_is_unique"> + <xsl:value-of select='./Model:Namespace.contents/Model:AssociationEnd[position()=1]/Model:AssociationEnd.multiplicity/XMI.field[position()=4]'/> + </xsl:variable> + + <xsl:variable name="collection1"> + <xsl:call-template name="assoc_collection_name"> + <xsl:with-param name="lower"> + <xsl:value-of select="$assocEnd1_lower"/> + </xsl:with-param> + <xsl:with-param name="upper"> + <xsl:value-of select="$assocEnd1_upper"/> + </xsl:with-param> + <xsl:with-param name="is_ordered"> + <xsl:value-of select="$assocEnd1_is_ordered"/> + </xsl:with-param> + <xsl:with-param name="is_unique"> + <xsl:value-of select="$assocEnd1_is_unique"/> + </xsl:with-param> + <xsl:with-param name="aggregation"> + <xsl:value-of select="./Model:Namespace.contents/Model:AssociationEnd[position()=1]/@aggregation"/> + </xsl:with-param> + </xsl:call-template> + </xsl:variable> + + <!-- Get association end 2 --> + + <xsl:variable name="assocEnd2Name"> <xsl:value-of select='./Model:Namespace.contents/Model:AssociationEnd[position()=2]/@name'/> </xsl:variable> ! <xsl:variable name="assocEnd2Type"> ! <xsl:value-of select='./Model:Namespace.contents/Model:AssociationEnd[position()=2]/@type'/> ! </xsl:variable> ! ! <xsl:variable name="assocEnd2TypeName"> ! <xsl:call-template name="get_name"> ! <xsl:with-param name="the_xmi_id"> ! <xsl:value-of select="$assocEnd2Type"/> ! </xsl:with-param> ! <xsl:with-param name="the_name"> ! <xsl:value-of ! select='/descendant::Model:Class[@xmi.id=$assocEnd2Type]/@name'/> ! </xsl:with-param> ! </xsl:call-template> ! </xsl:variable> ! ! <xsl:variable name="tassoc_end2_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> ! <xsl:value-of select="$assocEnd2TypeName"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> </xsl:call-template> </xsl:variable> ! <xsl:variable name="assoc_end2_name"> ! <xsl:call-template name="reserved-word-processing"> ! <xsl:with-param name="the_word"> ! <xsl:value-of select="$tassoc_end2_name"/> ! </xsl:with-param> ! </xsl:call-template> </xsl:variable> *************** *** 101,104 **** --- 168,175 ---- </xsl:variable> + <xsl:variable name="assocEnd2_lower"> + <xsl:value-of select='./Model:Namespace.contents/Model:AssociationEnd[position()=2]/Model:AssociationEnd.multiplicity/XMI.field[position()=1]'/> + </xsl:variable> + <xsl:variable name="assocEnd2_upper"> <xsl:value-of select='./Model:Namespace.contents/Model:AssociationEnd[position()=2]/Model:AssociationEnd.multiplicity/XMI.field[position()=2]'/> *************** *** 109,115 **** </xsl:variable> <!-- DO THE OUTPUT --> ! <xsl:text>#ifdef __</xsl:text> <xsl:value-of select="$ASSOC_NAME"/> <xsl:text>__ </xsl:text> --- 180,212 ---- </xsl:variable> + <xsl:variable name="assocEnd2_is_unique"> + <xsl:value-of select='./Model:Namespace.contents/Model:AssociationEnd[position()=2]/Model:AssociationEnd.multiplicity/XMI.field[position()=4]'/> + </xsl:variable> + + <xsl:variable name="collection2"> + <xsl:call-template name="assoc_collection_name"> + <xsl:with-param name="lower"> + <xsl:value-of select="$assocEnd2_lower"/> + </xsl:with-param> + <xsl:with-param name="upper"> + <xsl:value-of select="$assocEnd2_upper"/> + </xsl:with-param> + <xsl:with-param name="is_ordered"> + <xsl:value-of select="$assocEnd2_is_ordered"/> + </xsl:with-param> + <xsl:with-param name="is_unique"> + <xsl:value-of select="$assocEnd2_is_unique"/> + </xsl:with-param> + <xsl:with-param name="aggregation"> + <xsl:value-of select="./Model:Namespace.contents/Model:AssociationEnd[position()=2]/@aggregation"/> + </xsl:with-param> + </xsl:call-template> + </xsl:variable> + + <!-- DO THE OUTPUT --> + ! <xsl:text>#ifndef __</xsl:text> <xsl:value-of select="$ASSOC_NAME"/> <xsl:text>__ </xsl:text> *************** *** 125,129 **** <xsl:text> </xsl:text> ! <xsl:text>#include "Foundation.h" </xsl:text> <xsl:text> </xsl:text> --- 222,226 ---- <xsl:text> </xsl:text> ! <xsl:text>#include "Core.h" </xsl:text> <xsl:text> </xsl:text> *************** *** 137,140 **** --- 234,259 ---- <xsl:text> </xsl:text> + <xsl:text> // assocEnd1_lower </xsl:text> + <xsl:value-of select="$assocEnd1_lower"/> + <xsl:text> </xsl:text> + + <xsl:text> // assocEnd1_upper </xsl:text> + <xsl:value-of select="$assocEnd1_upper"/> + <xsl:text> </xsl:text> + + <xsl:text> // assocEnd1_is_ordered </xsl:text> + <xsl:value-of select="$assocEnd1_is_ordered"/> + <xsl:text> </xsl:text> + + <xsl:text> // assocEnd1_is_unique </xsl:text> + <xsl:value-of select="$assocEnd1_is_unique"/> + <xsl:text> </xsl:text> + + <xsl:text> // collection1 </xsl:text> + <xsl:value-of select="$collection1"/> + <xsl:text> </xsl:text> + + <xsl:text> </xsl:text> + <xsl:text> // assocEnd2Name </xsl:text> <xsl:value-of select="$assocEnd2Name"/> *************** *** 145,150 **** --- 264,289 ---- <xsl:text> </xsl:text> + <xsl:text> // assocEnd2_lower </xsl:text> + <xsl:value-of select="$assocEnd2_lower"/> + <xsl:text> </xsl:text> + + <xsl:text> // assocEnd2_upper </xsl:text> + <xsl:value-of select="$assocEnd2_upper"/> + <xsl:text> </xsl:text> + + <xsl:text> // assocEnd2_is_ordered </xsl:text> + <xsl:value-of select="$assocEnd2_is_ordered"/> + <xsl:text> </xsl:text> + + <xsl:text> // assocEnd2_is_unique </xsl:text> + <xsl:value-of select="$assocEnd2_is_unique"/> + <xsl:text> </xsl:text> + + <xsl:text> // collection2 </xsl:text> + <xsl:value-of select="$collection2"/> <xsl:text> </xsl:text> + <xsl:text> </xsl:text> + <xsl:text>class </xsl:text> <xsl:value-of select="$assocName"/> *************** *** 155,159 **** <xsl:text> virtual public POA_Core::</xsl:text> <xsl:value-of select="$assocName"/> ! <xsl:text>_impl </xsl:text> <xsl:text>{ </xsl:text> --- 294,298 ---- <xsl:text> virtual public POA_Core::</xsl:text> <xsl:value-of select="$assocName"/> ! <xsl:text> </xsl:text> <xsl:text>{ </xsl:text> *************** *** 163,171 **** --> ! <xsl:text> </xsl:text> <xsl:value-of select="$assocName"/> ! <xsl:text>LinkSet all_</xsl:text> <xsl:value-of select="$assoc_name"/> ! <xsl:text>_links () </xsl:text> <xsl:text> throw( </xsl:text> --- 302,310 ---- --> ! <xsl:text> Core::</xsl:text> <xsl:value-of select="$assocName"/> ! <xsl:text>LinkSet* all_</xsl:text> <xsl:value-of select="$assoc_name"/> ! <xsl:text>_links() </xsl:text> <xsl:text> throw( </xsl:text> *************** *** 206,210 **** <xsl:text> Core::</xsl:text> <xsl:value-of select="$assocEnd1TypeName"/> ! <xsl:text>Set* </xsl:text> <xsl:value-of select="$assoc_end1_name"/> <xsl:text>( Core::</xsl:text> --- 345,350 ---- <xsl:text> Core::</xsl:text> <xsl:value-of select="$assocEnd1TypeName"/> ! <xsl:value-of select="$collection1"/> ! <xsl:value-of select="$assoc_end1_name"/> <xsl:text>( Core::</xsl:text> *************** *** 230,234 **** <xsl:text> Core::</xsl:text> <xsl:value-of select="$assocEnd2TypeName"/> ! <xsl:text>Set* </xsl:text> <xsl:value-of select="$assoc_end2_name"/> <xsl:text>( Core::</xsl:text> --- 370,375 ---- <xsl:text> Core::</xsl:text> <xsl:value-of select="$assocEnd2TypeName"/> ! <xsl:value-of select="$collection2"/> ! <xsl:value-of select="$assoc_end2_name"/> <xsl:text>( Core::</xsl:text> *************** *** 358,362 **** <xsl:text>, Core::</xsl:text> <xsl:value-of select="$assocEnd2TypeName"/> ! <xsl:text>_ptr</xsl:text> <xsl:value-of select="$assoc_end2_name"/> <xsl:text>, Core::</xsl:text> --- 499,503 ---- <xsl:text>, Core::</xsl:text> <xsl:value-of select="$assocEnd2TypeName"/> ! <xsl:text>_ptr </xsl:text> <xsl:value-of select="$assoc_end2_name"/> <xsl:text>, Core::</xsl:text> *************** *** 392,396 **** <xsl:text>, Core::</xsl:text> <xsl:value-of select="$assocEnd1TypeName"/> ! <xsl:text>_ptr</xsl:text> <xsl:value-of select="$assoc_end1_name"/> <xsl:text>, Core::</xsl:text> --- 533,537 ---- <xsl:text>, Core::</xsl:text> <xsl:value-of select="$assocEnd1TypeName"/> ! <xsl:text>_ptr </xsl:text> <xsl:value-of select="$assoc_end1_name"/> <xsl:text>, Core::</xsl:text> *************** *** 433,436 **** --- 574,583 ---- </xsl:if> + + <xsl:text> </xsl:text> + <xsl:text>}; </xsl:text> + <xsl:text> </xsl:text> + + <xsl:text>#endif </xsl:text> </xsl:template> Index: gen_proxy_ccs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_proxy_ccs.xsl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** gen_proxy_ccs.xsl 2001/09/10 22:09:32 1.2 --- gen_proxy_ccs.xsl 2001/09/27 21:51:09 1.3 *************** *** 52,56 **** <xsl:variable name="collection"> ! <xsl:call-template name="collection_name"/> </xsl:variable> --- 52,62 ---- <xsl:variable name="collection"> ! <xsl:call-template name="collection_name"> ! <xsl:with-param name="lower" select="$lower"/> ! <xsl:with-param name="upper" select="$upper"/> ! <xsl:with-param name="is_ordered" select="$is_ordered"/> ! <xsl:with-param name="is_unique" select="$is_unique"/> ! </xsl:call-template> ! <xsl:text>&</xsl:text> </xsl:variable> |
From: Gerard F. <ger...@us...> - 2001-09-16 19:46:56
|
Update of /cvsroot/kuml/kuml/docs/old_ftp/people/keith/docs In directory usw-pr-cvs1:/tmp/cvs-serv24442/people/keith/docs Added Files: riskAnalysis.txt Log Message: Checkin of files from project FTP site. --- NEW FILE --- Project risk analysis draft --------------------------- Why bother? ---------- To find out the risks associated with the project. And to take steps to limit those that are under our control. It is not intended that this be distracting. But in the long term I believe that having measures to control risks will be needed. What is risk? ------------ Risk is the possiblity of a negative/undesirable outcome. The higher the possibility of that negative outcome and the more dramatic the impact on the project, the higher the risk. How are risks identified? ------------------------- By looking at the .development team .project complexity .development time .user requirement and their stability What are my percieved risks? ---------------------------- Development team ---------------- risk : working this for fun - may not contiue to be the case problem .team member leave project .team members put in lower than expected(agreed) hours impact .project is delayed risk level .low to medium - we wouldn't be here unless we were commmited risk control .double up - two member work on an area at once (this may not be practical but is desireable) Technical risks --------------- risk: leading edge software problems .unfamiliar with development tools and software technologies .uncertain that requirement can be achieved Impact .incomplete/missing/reworked requirements - project not complete or delayed risk level .xml and support libraries: High risk .application graphic interface : medium risk control .choose a software development lifecycle to reduce risk. .allow time for frequent check of progress. .modulize project - already being done Requirements ------------ risk: requirements not fixed problem .requirements change frequently .disagreement about requirements .poor change control impact .rework requirments - project delayed - in the extreeme case project not completable or the project is abandoned risk level .xml and support libraries: medium .application graphic interface : medium risk control .agree on requirments by consensus - already being done Recommendation ------------- 1) Someone else have a look at risks at project to clarify/confirm/rebut analysis. 2) Consider how risks may be controled. 3) Consider the high risk support libraries be spun off into a separate open enviroment project and that kUML team works very closely with it. |
From: Gerard F. <ger...@us...> - 2001-09-16 19:46:55
|
Update of /cvsroot/kuml/kuml/docs/old_ftp/people/gerard/KumlPresentation In directory usw-pr-cvs1:/tmp/cvs-serv24442/people/gerard/KumlPresentation Added Files: KumlPresentation.dia KumlPresentation.idl KumlPresentation.ps Log Message: Checkin of files from project FTP site. --- NEW FILE --- _ZÛ÷JÄOa¨ñä'y£á1òD´¦KT!Ðp ¢ vµÃ~¨i P{Z4ÒápÌ÷v®Ô<8î»ßPeqæÒbãDTJ/&-6ÀÄÊ´;M¥]ÐÒò:;ÔÒÒ_Z²#'¥ª®Y2´ª°)ÆhÛÀöU]3$ËÂöÊ2E¼¬$À±ú"·«ê2È6UÝR²cüªîic¬nÛÇåºíÓËN®MhL¥ë UÄhÊ)ôj9¤þ@ªÄEë´EÛ¤Å¨Ï ®¨X¶ÐAû¡Úo 5Í%N£X*}üù×o?\_GL¤ç{É£ øeTu QÖ§ZU ºcm¥ÿ\ÇÛP}3Ç;°Hü"S%ª¹âô6ód}Q»¼=W[äh 4 í= δ°¿I°jLé´7Ã>Ù^<cþr?¼½9mÍ¿9MV%Hui]õ9}æA_Ô<«¹$LßN AàÈEWFºòÒ6fÞl{gÚ*ÀGZn*?éâ§t1mßÉYà®Y ÅN)³º½®¼öy°«üÀ Ñ0½l °ú¢§OfwÂàå¾"aßIæg/Ĥê\kKÝ,u¨#%+ lpð&hhaË!OÈIÓ k]qEµúZç`+TFYmÌ®W(©¨£µª¢u+*hõõ³QBá©RçJu ÄDmÑ)S¥2t!ÓÄ &JGa<)¶å.N4at,éwÙ¦]ÕÉQíâµçÇÏCw*çµíßx¢³S:_Z/½´©ê©NL"àë4Çø*ÓÚ©©©Q7æºZÝ´º} êÖd¯ oZÜÞ´¸íC×ûô¨õMëÛkë[è»ZßÞ²¾io¨å{ÃïÃ{®½¡öÚj}ÓkÂÆÛ{Ñàa`ù%·&Ö¤e dæ@]Y·&p¦-(1ÂVoLùÖö\vQ$]aÖf½ïòÒÚÿúÆ|ïÏ,W8s°plüÄ»ï T"ÙÊÝ÷bj/Lp_7FÉݺy=pÕkR --- NEW FILE --- #pragma prefix "org.sourceforge.kuml" #include "Foundation.idl" module KumlPresentation { interface PresentationData; interface KumlPresentationElement; interface KumlPresentationElementClass; typedef sequence<KumlPresentationElement> KumlPresentationElementSet; interface Diagram; interface DiagramClass; typedef sequence<Diagram> DiagramSet; interface KumlPresentationPackage; interface KumlPresentationPackageFactory; exception KumlPresentationError { string error_kind; string error_description; }; interface PresentationData { any data() raises(KumlPresentationError); void set_data( in any new_data ) raises(KumlPresentationError); }; interface KumlPresentationElementClass : Foundation::Core::PresentationElementClass { readonly attribute KumlPresentationElementSet all_of_type_kuml_presentation_element; KumlPresentationElement create_kuml_presentation_element() raises(KumlPresentationError); }; interface KumlPresentationElement : PresentationData, KumlPresentationElementClass, Foundation::Core::PresentationElement { }; interface DiagramClass { readonly attribute DiagramSet all_of_type_diagram; Diagram create_diagram(); }; interface Diagram : DiagramClass, PresentationData { KumlPresentationElementSet element() raises(KumlPresentationError); void set_element( in KumlPresentationElementSet new_element ) raises(KumlPresentationError); void add_element( in KumlPresentationElement new_element ) raises(KumlPresentationError); void modify_element( in KumlPresentationElement old_element, in KumlPresentationElement new_element ) raises(KumlPresentationError); void remove_element( in KumlPresentationElement old_element ) raises(KumlPresentationError); }; interface KumlPresentationPackageFactory { KumlPresentationPackage create_kuml_presentation_package() raises(KumlPresentationError); }; interface KumlPresentationPackage : Reflective::RefPackage { readonly attribute KumlPresentationElementClass kuml_presentation_ref; readonly attribute DiagramClass diagram_class_ref; }; }; // end of module KumlPresentation. --- NEW FILE --- %!PS-Adobe-2.0 %%Title: /home/flynn/uml/dia/KumlPresentation %%Creator: Dia v0.82 %%CreationDate: Wed Sep 27 10:08:42 2000 %%For: a user %%DocumentPaperSizes: A4 %%Orientation: Landscape %%BeginSetup %%EndSetup %%EndComments %%BeginProlog [ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O [...579 lines suppressed...] [] 0 sd 0 slj 0 slc 0.000000 0.000000 0.000000 srgb n 48.099586 33.759000 m 48.099586 37.313953 l 89.057000 37.313953 l 89.057000 35.659000 l s [] 0 sd 0 slj 0 slc 1.000000 1.000000 1.000000 srgb n 89.057000 35.659000 m 89.297000 36.359000 l 89.057000 37.059000 l 88.817000 36.359000 l f 0.100000 slw [] 0 sd 0 slj 0 slc 0.000000 0.000000 0.000000 srgb n 89.057000 35.659000 m 89.297000 36.359000 l 89.057000 37.059000 l 88.817000 36.359000 l cp s /Courier-latin1 ff 0.800000 scf sf gr showpage |
From: Gerard F. <ger...@us...> - 2001-09-16 19:46:55
|
Update of /cvsroot/kuml/kuml/docs/old_ftp/people/chris In directory usw-pr-cvs1:/tmp/cvs-serv24442/people/chris Added Files: Presentation.argo Presentation.xmi Presentation_classdiagram1.pgml Presentation_usecasediagram1.pgml classdiagram1.gif Log Message: Checkin of files from project FTP site. --- NEW FILE --- <?xml version = "1.0" encoding = "ISO-8859-1" ?> <!DOCTYPE argo SYSTEM "argo.dtd" > <argo> <documentation> <authorname></authorname> <version></version> <description> </description> </documentation> <searchpath href="PROJECT_DIR" /> <member type="pgml" name="Presentation_classdiagram1.pgml" /> <member type="pgml" name="Presentation_usecasediagram1.pgml" /> <member type="xmi" name="Presentation.xmi" /> <historyfile name="" /> <stats> <stat name="clicksInToDoPane" value="0" /> <stat name="dblClicksInToDoPane" value="0" /> <stat name="longestToDoList" value="57" /> <stat name="longestAdd" value="0" /> <stat name="longestHot" value="0" /> <stat name="numCriticsFired" value="69201" /> <stat name="numNotValid" value="29" /> <stat name="numCriticsApplied" value="0" /> <stat name="toDoPerspectivesChanged" value="0" /> <stat name="navPerspectivesChanged" value="0" /> <stat name="clicksInNavPane" value="11" /> <stat name="numFinds" value="0" /> <stat name="numJumpToRelated" value="0" /> <stat name="numDecisionModel" value="0" /> <stat name="numGoalsModel" value="0" /> <stat name="numCriticBrowser" value="0" /> <stat name="numNavConfig" value="0" /> <stat name="numHushes" value="0" /> <stat name="numChecks" value="0" /> <stat name="Num_Button_Clicks" value="3" /> <stat name="Drags_To_New" value="0" /> <stat name="Drags_To_Existing" value="10" /> </stats> </argo> --- NEW FILE --- <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE XMI SYSTEM "uml13.dtd"> <XMI xmi.version="1.0"> <XMI.header> <XMI.metamodel xmi.name="UML" xmi.version="1.3"/> </XMI.header> <XMI.content> <Model_Management.Model xmi.id="xmi.1" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-8000"> <Foundation.Core.ModelElement.name>untitledModel</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/> <Foundation.Core.Namespace.ownedElement> <Model_Management.Package xmi.id="xmi.2" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-7fff"> <Foundation.Core.ModelElement.name>Foundation</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Model xmi.idref="xmi.1"/> </Foundation.Core.ModelElement.namespace> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Class xmi.id="xmi.3" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-7ffd"> <Foundation.Core.ModelElement.name>Presentation Element</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/> <Foundation.Core.Class.isActive xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Package xmi.idref="xmi.2"/> </Foundation.Core.ModelElement.namespace> </Foundation.Core.Class> </Foundation.Core.Namespace.ownedElement> </Model_Management.Package> </Foundation.Core.Namespace.ownedElement> <Foundation.Core.Namespace.ownedElement> <Model_Management.Package xmi.id="xmi.4" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-7ffe"> <Foundation.Core.ModelElement.name>KUML Presentation</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Model xmi.idref="xmi.1"/> </Foundation.Core.ModelElement.namespace> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Class xmi.id="xmi.5" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-7ffb"> <Foundation.Core.ModelElement.name>Presentation Element</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/> <Foundation.Core.Class.isActive xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Package xmi.idref="xmi.4"/> </Foundation.Core.ModelElement.namespace> <Foundation.Core.GeneralizableElement.specialization> <Foundation.Core.Generalization xmi.idref="xmi.6"/> </Foundation.Core.GeneralizableElement.specialization> <Foundation.Core.GeneralizableElement.specialization> <Foundation.Core.Generalization xmi.idref="xmi.7"/> </Foundation.Core.GeneralizableElement.specialization> </Foundation.Core.Class> </Foundation.Core.Namespace.ownedElement> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Class xmi.id="xmi.8" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-7ff9"> <Foundation.Core.ModelElement.name> Composite Presentation Element</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/> <Foundation.Core.Class.isActive xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Package xmi.idref="xmi.4"/> </Foundation.Core.ModelElement.namespace> <Foundation.Core.GeneralizableElement.generalization> <Foundation.Core.Generalization xmi.idref="xmi.6"/> </Foundation.Core.GeneralizableElement.generalization> <Foundation.Core.GeneralizableElement.specialization> <Foundation.Core.Generalization xmi.idref="xmi.9"/> </Foundation.Core.GeneralizableElement.specialization> <Foundation.Core.GeneralizableElement.specialization> <Foundation.Core.Generalization xmi.idref="xmi.10"/> </Foundation.Core.GeneralizableElement.specialization> </Foundation.Core.Class> </Foundation.Core.Namespace.ownedElement> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Generalization xmi.id="xmi.6" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-7ff8"> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Package xmi.idref="xmi.4"/> </Foundation.Core.ModelElement.namespace> <Foundation.Core.Generalization.child> <Foundation.Core.Class xmi.idref="xmi.8"/> </Foundation.Core.Generalization.child> <Foundation.Core.Generalization.parent> <Foundation.Core.Class xmi.idref="xmi.5"/> </Foundation.Core.Generalization.parent> </Foundation.Core.Generalization> </Foundation.Core.Namespace.ownedElement> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Class xmi.id="xmi.11" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-7ff6"> <Foundation.Core.ModelElement.name>Positioned Presentation Element</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/> <Foundation.Core.Class.isActive xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Package xmi.idref="xmi.4"/> </Foundation.Core.ModelElement.namespace> <Foundation.Core.GeneralizableElement.generalization> <Foundation.Core.Generalization xmi.idref="xmi.7"/> </Foundation.Core.GeneralizableElement.generalization> <Foundation.Core.GeneralizableElement.specialization> <Foundation.Core.Generalization xmi.idref="xmi.12"/> </Foundation.Core.GeneralizableElement.specialization> <Foundation.Core.GeneralizableElement.specialization> <Foundation.Core.Generalization xmi.idref="xmi.13"/> </Foundation.Core.GeneralizableElement.specialization> <Foundation.Core.Classifier.feature> <Foundation.Core.Attribute xmi.id="xmi.14"> <Foundation.Core.ModelElement.name>ElementPos</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.visibility xmi.value="public"/> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.Feature.owner> <Foundation.Core.Class xmi.idref="xmi.11"/> </Foundation.Core.Feature.owner> <Foundation.Core.StructuralFeature.type> <Foundation.Core.Class xmi.idref="xmi.15"/> </Foundation.Core.StructuralFeature.type> </Foundation.Core.Attribute> </Foundation.Core.Classifier.feature> </Foundation.Core.Class> </Foundation.Core.Namespace.ownedElement> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Generalization xmi.id="xmi.7" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-7ff5"> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Package xmi.idref="xmi.4"/> </Foundation.Core.ModelElement.namespace> <Foundation.Core.Generalization.child> <Foundation.Core.Class xmi.idref="xmi.11"/> </Foundation.Core.Generalization.child> <Foundation.Core.Generalization.parent> <Foundation.Core.Class xmi.idref="xmi.5"/> </Foundation.Core.Generalization.parent> </Foundation.Core.Generalization> </Foundation.Core.Namespace.ownedElement> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Class xmi.id="xmi.16" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-7ff4"> <Foundation.Core.ModelElement.name>Textual Element</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/> <Foundation.Core.Class.isActive xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Package xmi.idref="xmi.4"/> </Foundation.Core.ModelElement.namespace> <Foundation.Core.GeneralizableElement.generalization> <Foundation.Core.Generalization xmi.idref="xmi.12"/> </Foundation.Core.GeneralizableElement.generalization> </Foundation.Core.Class> </Foundation.Core.Namespace.ownedElement> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Generalization xmi.id="xmi.12" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-7ff1"> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Package xmi.idref="xmi.4"/> </Foundation.Core.ModelElement.namespace> <Foundation.Core.Generalization.child> <Foundation.Core.Class xmi.idref="xmi.16"/> </Foundation.Core.Generalization.child> <Foundation.Core.Generalization.parent> <Foundation.Core.Class xmi.idref="xmi.11"/> </Foundation.Core.Generalization.parent> </Foundation.Core.Generalization> </Foundation.Core.Namespace.ownedElement> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Class xmi.id="xmi.17" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-7ff0"> <Foundation.Core.ModelElement.name>Graphical</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/> <Foundation.Core.Class.isActive xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Package xmi.idref="xmi.4"/> </Foundation.Core.ModelElement.namespace> <Foundation.Core.GeneralizableElement.generalization> <Foundation.Core.Generalization xmi.idref="xmi.13"/> </Foundation.Core.GeneralizableElement.generalization> <Foundation.Core.GeneralizableElement.specialization> <Foundation.Core.Generalization xmi.idref="xmi.18"/> </Foundation.Core.GeneralizableElement.specialization> <Foundation.Core.Classifier.feature> <Foundation.Core.Attribute xmi.id="xmi.19"> <Foundation.Core.ModelElement.name>fillColour</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.visibility xmi.value="public"/> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.Feature.owner> <Foundation.Core.Class xmi.idref="xmi.17"/> </Foundation.Core.Feature.owner> <Foundation.Core.StructuralFeature.type> <Foundation.Core.Class xmi.idref="xmi.20"/> </Foundation.Core.StructuralFeature.type> </Foundation.Core.Attribute> </Foundation.Core.Classifier.feature> <Foundation.Core.Classifier.feature> <Foundation.Core.Attribute xmi.id="xmi.21"> <Foundation.Core.ModelElement.name>boundaryColour</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.visibility xmi.value="public"/> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.Feature.owner> <Foundation.Core.Class xmi.idref="xmi.17"/> </Foundation.Core.Feature.owner> <Foundation.Core.StructuralFeature.type> <Foundation.Core.Class xmi.idref="xmi.20"/> </Foundation.Core.StructuralFeature.type> </Foundation.Core.Attribute> </Foundation.Core.Classifier.feature> </Foundation.Core.Class> </Foundation.Core.Namespace.ownedElement> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Generalization xmi.id="xmi.13" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-7fef"> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Package xmi.idref="xmi.4"/> </Foundation.Core.ModelElement.namespace> <Foundation.Core.Generalization.child> <Foundation.Core.Class xmi.idref="xmi.17"/> </Foundation.Core.Generalization.child> <Foundation.Core.Generalization.parent> <Foundation.Core.Class xmi.idref="xmi.11"/> </Foundation.Core.Generalization.parent> </Foundation.Core.Generalization> </Foundation.Core.Namespace.ownedElement> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Class xmi.id="xmi.22" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-7fee"> <Foundation.Core.ModelElement.name>Diagram</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/> <Foundation.Core.Class.isActive xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Package xmi.idref="xmi.4"/> </Foundation.Core.ModelElement.namespace> <Foundation.Core.GeneralizableElement.generalization> <Foundation.Core.Generalization xmi.idref="xmi.9"/> </Foundation.Core.GeneralizableElement.generalization> </Foundation.Core.Class> </Foundation.Core.Namespace.ownedElement> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Generalization xmi.id="xmi.9" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-7feb"> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Package xmi.idref="xmi.4"/> </Foundation.Core.ModelElement.namespace> <Foundation.Core.Generalization.child> <Foundation.Core.Class xmi.idref="xmi.22"/> </Foundation.Core.Generalization.child> <Foundation.Core.Generalization.parent> <Foundation.Core.Class xmi.idref="xmi.8"/> </Foundation.Core.Generalization.parent> </Foundation.Core.Generalization> </Foundation.Core.Namespace.ownedElement> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Class xmi.id="xmi.23" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-7fea"> <Foundation.Core.ModelElement.name>ClassPE</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/> <Foundation.Core.Class.isActive xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Package xmi.idref="xmi.4"/> </Foundation.Core.ModelElement.namespace> <Foundation.Core.GeneralizableElement.generalization> <Foundation.Core.Generalization xmi.idref="xmi.10"/> </Foundation.Core.GeneralizableElement.generalization> </Foundation.Core.Class> </Foundation.Core.Namespace.ownedElement> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Generalization xmi.id="xmi.10" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-7fe7"> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Package xmi.idref="xmi.4"/> </Foundation.Core.ModelElement.namespace> <Foundation.Core.Generalization.child> <Foundation.Core.Class xmi.idref="xmi.23"/> </Foundation.Core.Generalization.child> <Foundation.Core.Generalization.parent> <Foundation.Core.Class xmi.idref="xmi.8"/> </Foundation.Core.Generalization.parent> </Foundation.Core.Generalization> </Foundation.Core.Namespace.ownedElement> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Class xmi.id="xmi.24" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-7fe5"> <Foundation.Core.ModelElement.name>Rectangle</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/> <Foundation.Core.Class.isActive xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Package xmi.idref="xmi.4"/> </Foundation.Core.ModelElement.namespace> <Foundation.Core.GeneralizableElement.generalization> <Foundation.Core.Generalization xmi.idref="xmi.18"/> </Foundation.Core.GeneralizableElement.generalization> </Foundation.Core.Class> </Foundation.Core.Namespace.ownedElement> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Generalization xmi.id="xmi.18" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-7fe4"> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Package xmi.idref="xmi.4"/> </Foundation.Core.ModelElement.namespace> <Foundation.Core.Generalization.child> <Foundation.Core.Class xmi.idref="xmi.24"/> </Foundation.Core.Generalization.child> <Foundation.Core.Generalization.parent> <Foundation.Core.Class xmi.idref="xmi.17"/> </Foundation.Core.Generalization.parent> </Foundation.Core.Generalization> </Foundation.Core.Namespace.ownedElement> </Model_Management.Package> </Foundation.Core.Namespace.ownedElement> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Association xmi.id="xmi.25" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-7ffa"> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Model xmi.idref="xmi.1"/> </Foundation.Core.ModelElement.namespace> <Foundation.Core.Association.connection> <Foundation.Core.AssociationEnd xmi.id="xmi.26"> <Foundation.Core.ModelElement.name></Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.AssociationEnd.isNavigable xmi.value="true"/> <Foundation.Core.AssociationEnd.association> <Foundation.Core.Association xmi.idref="xmi.25"/> </Foundation.Core.AssociationEnd.association> <Foundation.Core.AssociationEnd.type> <Foundation.Core.Class xmi.idref="xmi.3"/> </Foundation.Core.AssociationEnd.type> </Foundation.Core.AssociationEnd> </Foundation.Core.Association.connection> <Foundation.Core.Association.connection> <Foundation.Core.AssociationEnd xmi.id="xmi.27"> <Foundation.Core.ModelElement.name></Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.AssociationEnd.isNavigable xmi.value="true"/> <Foundation.Core.AssociationEnd.association> <Foundation.Core.Association xmi.idref="xmi.25"/> </Foundation.Core.AssociationEnd.association> <Foundation.Core.AssociationEnd.type> <Foundation.Core.Class xmi.idref="xmi.5"/> </Foundation.Core.AssociationEnd.type> </Foundation.Core.AssociationEnd> </Foundation.Core.Association.connection> </Foundation.Core.Association> </Foundation.Core.Namespace.ownedElement> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.DataType xmi.id="xmi.28"> <Foundation.Core.ModelElement.name>int</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Model xmi.idref="xmi.1"/> </Foundation.Core.ModelElement.namespace> </Foundation.Core.DataType> </Foundation.Core.Namespace.ownedElement> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Class xmi.id="xmi.15"> <Foundation.Core.ModelElement.name>Position</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/> <Foundation.Core.Class.isActive xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Model xmi.idref="xmi.1"/> </Foundation.Core.ModelElement.namespace> </Foundation.Core.Class> </Foundation.Core.Namespace.ownedElement> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Association xmi.id="xmi.29" xmi.uuid="-64--88-0-3--59e1a999:e1e7d03ada:-7fe6"> <Foundation.Core.ModelElement.name>Containment</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Model xmi.idref="xmi.1"/> </Foundation.Core.ModelElement.namespace> <Foundation.Core.Association.connection> <Foundation.Core.AssociationEnd xmi.id="xmi.30"> <Foundation.Core.ModelElement.name>is contained by</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.AssociationEnd.isNavigable xmi.value="true"/> <Foundation.Core.AssociationEnd.aggregation xmi.value="none"/> <Foundation.Core.AssociationEnd.multiplicity> <Foundation.Data_Types.Multiplicity xmi.id="xmi.31"> <Foundation.Data_Types.Multiplicity.range> <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.32"> <Foundation.Data_Types.MultiplicityRange.lower>1</Foundation.Data_Types.MultiplicityRange.lower> <Foundation.Data_Types.MultiplicityRange.upper>1</Foundation.Data_Types.MultiplicityRange.upper> </Foundation.Data_Types.MultiplicityRange> </Foundation.Data_Types.Multiplicity.range> </Foundation.Data_Types.Multiplicity> </Foundation.Core.AssociationEnd.multiplicity> <Foundation.Core.AssociationEnd.association> <Foundation.Core.Association xmi.idref="xmi.29"/> </Foundation.Core.AssociationEnd.association> <Foundation.Core.AssociationEnd.type> <Foundation.Core.Class xmi.idref="xmi.8"/> </Foundation.Core.AssociationEnd.type> </Foundation.Core.AssociationEnd> </Foundation.Core.Association.connection> <Foundation.Core.Association.connection> <Foundation.Core.AssociationEnd xmi.id="xmi.33"> <Foundation.Core.ModelElement.name>contains</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.AssociationEnd.isNavigable xmi.value="true"/> <Foundation.Core.AssociationEnd.aggregation xmi.value="composite"/> <Foundation.Core.AssociationEnd.multiplicity> <Foundation.Data_Types.Multiplicity xmi.id="xmi.34"> <Foundation.Data_Types.Multiplicity.range> <Foundation.Data_Types.MultiplicityRange xmi.id="xmi.35"> <Foundation.Data_Types.MultiplicityRange.lower>0</Foundation.Data_Types.MultiplicityRange.lower> <Foundation.Data_Types.MultiplicityRange.upper>-1</Foundation.Data_Types.MultiplicityRange.upper> </Foundation.Data_Types.MultiplicityRange> </Foundation.Data_Types.Multiplicity.range> </Foundation.Data_Types.Multiplicity> </Foundation.Core.AssociationEnd.multiplicity> <Foundation.Core.AssociationEnd.association> <Foundation.Core.Association xmi.idref="xmi.29"/> </Foundation.Core.AssociationEnd.association> <Foundation.Core.AssociationEnd.type> <Foundation.Core.Class xmi.idref="xmi.5"/> </Foundation.Core.AssociationEnd.type> </Foundation.Core.AssociationEnd> </Foundation.Core.Association.connection> </Foundation.Core.Association> </Foundation.Core.Namespace.ownedElement> <Foundation.Core.Namespace.ownedElement> <Foundation.Core.Class xmi.id="xmi.20"> <Foundation.Core.ModelElement.name>Colour</Foundation.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.value="false"/> <Foundation.Core.GeneralizableElement.isRoot xmi.value="false"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.value="false"/> <Foundation.Core.GeneralizableElement.isAbstract xmi.value="false"/> <Foundation.Core.Class.isActive xmi.value="false"/> <Foundation.Core.ModelElement.namespace> <Model_Management.Model xmi.idref="xmi.1"/> </Foundation.Core.ModelElement.namespace> </Foundation.Core.Class> </Foundation.Core.Namespace.ownedElement> </Model_Management.Model> </XMI.content> </XMI> --- NEW FILE --- <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE pgml SYSTEM "pgml.dtd"> <pgml description="uci.uml.visual.UMLClassDiagram|-64--88-0-3--59e1a999:e1e7d03ada:-8000" name="class diagram 1" > <group name="Fig0" description="uci.uml.visual.FigPackage[16, 8, 296, 224]" href="-64--88-0-3--59e1a999:e1e7d03ada:-7fff" fill="1" fillcolor="-1" stroke="1" strokecolor="-16777216" > <private> </private> <rectangle name="Fig0.0" x="17" y="9" [...814 lines suppressed...] <private> sourcePortFig="Fig21.0" destPortFig="Fig12.0" sourceFigNode="Fig21" destFigNode="Fig12" </private> <path name="Fig22.1" description="uci.gef.FigPoly" fill="0" fillcolor="-1" stroke="1" strokecolor="-16777216" > <moveto x="664" y="689" /> <lineto x="664" y="632" /> </path> </group> </pgml> --- NEW FILE --- <?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE pgml SYSTEM "pgml.dtd"> <pgml description="uci.uml.visual.UMLUseCaseDiagram|-64--88-0-3--59e1a999:e1e7d03ada:-8000" name="use case diagram 1" > </pgml> --- NEW FILE --- GIF89aXhñ Ä¢ñL*̦ó J§ÔªµÈj·Ü®÷Çä²ùN«×lóõ ËçtF@Ïë÷ü¾ÿ(8HXhx¨¸8P÷)9¹sÇx©¹ÉÙéùçH):JZjjaù©ºÊÚêúªz:K[k; «»ËÛË+{,<L,물\\ü-rÌl}ý;½ÍÝí=q·XG}îëüÍÞîNÎXm^oïºþ®¿Ï/k) ¶AÖdË6Zcͺ}jܹMÛ½{·+ݽ|ÛÙŸ¬Þ¾Ck8±âÅ;~²áÉü 9s«Á;{qY³èÑ8>úDhÒ¬[7K ;vÕ®kÛÞcZ¶îÝhßþí:7ïáÄø\´ðâÌOðòæÔc?ÝíôêÜ?_Ï^ëöîä'¾äøòìùOßáúöô×¾ÝüúüþÁÞÏ 5ûõG Sÿ 2ÈàN&¡.6H¡EF!+VÈ!?fb'vH¢_!hÏ%®ÈÍ(¾¨,Îx6 Hc=¹xcȨcµðèc| Q^ùTöh%^Æ¡å6vùeU)ædÉ&h¦yâmιÄp('zaçæ¹g Aôé' (à¡>zâè(¤Ê 餸Uzi§³i j\JE¦¡¢Ç)©ª`ê©à¥ºj¬´ê*v°Ê«´Ö ݹþZÁ®¼"ç+°ÆB þì°¿{l³$«¬mÌ:KÐF\µÚÖp-¶¬M»í±Ýz;¸á;.¹{n®éª»íÊú.¼ÒÍo õÚW¾þ°/¿oÉû¯§lÁ_z0Âd)¼0¤ ;,^Äo01ÅGA|± k|Çïù1È$<2%Ê)·¹2Ëò½Ló1ËbÍ:?³.ïåÍ=ëtÑ MOmõÖ#=lÚGÏ}÷¨}Ï|øâ{g}tæßùƯÏ>eîüÍ¿{ýö¿íúïïôõ ô`rþGÀ¹ôvL }H,ªjªk ÑBÁÒYðþ p6ÈA¯dt a]<¸,2 ·)¡ }2B͹ð <!åfHÃØÐq8ÌaJv¸úÐB,Ö=VÄÚñ¢àÈD)%±5P¢þ>Ø·*ZÑXÄ·È.Êí`ôÙFÆ2¶i#dn§Æ21dÄc½4GõÔ±wüRO¶GÞõ1h<äIÈ 2x¼ÒGR¼¶¤±ð(¤TxdÈ%]rr&¡Ä ';µO Å ¡JT¨2dó BhI[Þ#¤<%*¿¦Jq`Å#Dy-"K²²(ÌI9|ùK=²e¶|fUtyMgΤ.±æG¶¹ÊeÓf*IÎd³S1ÊPªPƳäd¤9s4ÍÀÓ#±L8"Ì â¥< ^òñÀDç²þ ÉP»©RZ( ò)EÊ¢%Âè=ÜÒÆT£òh4z<vt¢J©J%ÇÒà¸ô¥)gJSÏÙô[8Í)yLZHöÔ§®Û)i$IÔ5B]hRgÔr õ©ÌYª~PÚIRV=GS¹ÕútUiXm^XÅUåLõ¬»+WʶÖÔ¡-\«\ÖuÙõ®©q+Ôà*=¾þ4¯Aª`»ãW¶E,aãµ×ƶ!l"+Yù=60ÍlU7+Ìz¶0µÚb¯7Úâv_-gjZ¼töµmm^DK[º¬k§}RnkKW:õ·x nKþKܾÚ.³Mîø;0Ü:ÐÕt§ÛAãʹجvoÊÝîjö»< ¯xïWÝ]÷¼J¯`ÖË^º÷aðo ç»æÚøO}÷«Ý&ò^ÃsIDFïOú¸öÁÞV%ßè?Æp¤(T{x/G¬@3õÄ(~ ½Êâ§¥Ä0â°åBc5ÅøÆÙ}ñ[#Ìãû¬@rXr"ùÈCþ± Ìä&+¶ÈPv ã´ã*ËWʦ¥²rå)ùËíå2k³LfùÌ^N³ÖÌÛ6»9Àp0çLÄ:«ãÎx¦HñÄþç>÷ãϳ ¨ç=ËùÐMLôÙÍèwxÒ®´¥/=éH{¸Ã¾ §;íÀO¢õþJmêø¡:Õç[5«»çêW÷ӴódÍ>÷å#Ö¸kvvÝkñéúÖÁÆÞ°SlcØÉvÞ±ÀëfõUÄvïÍk/ ÈKR±JÙ$PÕg3|¿5873h+6¨~%µ·?ijz@HãH¦I¨KÈMèO á>XU_S8V¨ º· _x2]ø{`H3ã]cXiH4gH|jè\!møsÈ5qHtê`9}(!{¨>~(yÃw88Ø+ÈÖTØxx@h¦S|xxþ`jæ öT¥¸uã ¦¨r¸¦+@¯±¨³Hhú ¹»H ½èª!ÃxÅh¸¨ I½ÕE¨ÁÂ!)ùA&ù#Ù%©?Èà*Q¨/Ù31)óÓJÂe, ÙØòÈþòu5&S6s<³)ùbÑÇUsvpU%ÍÀ³PHéy·OØe /]É3©¨¬äOÁ~ý$LXKÙK)XOp©.ri_¸ëdLè|XÅHYuN¹PhJ&HOüWäbÐöìøÉ|yP@áL¤YDyZ*Kui©~y¹YHÇé-§ÉY¹]ÌiÉYË)Êâ74×9£àåÃÖå5¼RGsGþäyÑïy*ë9E®bí)UùYñ)ó鲩èÊ(ê ~¢ ( ¦Ë&¦¡u¢¯Ôgºi:§ £Á#¢oz@qº¦yx}ê§F4£j¢c§¾§øé¨à¦ Z.z[ja þÊ\j:¨J] ©jº¡Ú6*© ªÖ%ªAªhª*¦ª«ª^¯*!·«-£«ïÅ«¿«+¬ô5¬gã«¿ºài ¸TÅ ³ ÕÒj ÔZ«ÖúQØJÚJEUzYI±¬Ì*º õAÞZàÊ£Iåj®q¬·µ/*-ò:¯®Úú¯-Ä®îç®hù.cù*úº¯X¯®:J°Ë6°ÅW°ÕÚ-^»°¡Ó¯(u±»)k{ª{Ê5_ »±¯Ñ±ú²¢°+kVÎÊÂ""²fF²-¤\bþ6³+Û³ëR0«Iq"®IE»°z<"³5æW;« »©¢ÿ ²5¡Mµ¡Ê}\ÛIëµbbµ¬Ú²Aú ej`y¶ ¶k{¤m»µ ²òµ0è´z }ÿú#CK){û}[²w{}>sMÁc²KPÏ»9sk³ùq0&å Ъù7;Û}¨úĸXq¢9KçM_zv©¯~Ûº°Ë·´P ¶º¶)Å[¦Ã;9Ü}²ÄLY¼|û»»JM©ë¹a¼å·¹(ªMÄù¼édáäÒK·ª E"þ¹½Ê;âK¶¬9L®ù²Ä;ïä»ç¬l&¼fêº Kv¹L»·7L%Iü0¬¾8óW½Ôp»¤¹Ë§f<º/¬Â)KMóOÛ¤ºlº|FÌ{Ç ¼Ijì`«O[ÜNÐÇá½ E}y»O¼$HÀ´±¼«<»jÉþÇÆÆ-ãÄuiu =Ø»Û`̼Ì7½ÞëÅ,ÄkìÇ8<&ôKcÜÀ£¬Ç`ã;׫}«ÜÇ+ïL˱üuL´LÀ¬i¿¹LÌtÜ)ÜËìÊTkÀÀm9À ©ÞzÄÞD©ÏëíÞÙßÓÛí½×ÁßÙÛmÜÞßì}àßàûýÝÑÒø\¿øà$¼àüÍÏÒÝáÓáͽbÍÙÏ¥ý³ ðϼéÞýìíMè#ò,ðÚQç¦ò1ßèþ/àÃÍñ$/ó&O½^Þ8ÿé-Ø/?ôA_òRíóÕÔ+óFèB¯ò®¾ôËÝô¢]ÒY/î@õZßóDßõL/öÉô_?öX_öÛ-òõ3¯ôÏöqÿö^oõrÕ«ãö®ÙH_õÒ>épöfÿ÷.øvøpîzä:ßçÿôw_÷dO÷`÷ô>ùj_ù<ùn_ô/ùÝ;¿÷?æló_úRêx?úßø¬oä5/ÓmÏõ«úïúó=õWÒ/ú¼ßúÿûÏù¯ú)èë÷¯ûÄÔÆùÌ-ý±û¯ø7¯úÖøØ¿ûJ>øÜOùþáß$üi_ü·úgúèýê_þÚOþ[Øæ÷NõÎïýÐÿÛç?ý[¿öÊO ûW#%%ý-/1) 7'÷:=w@ GCMO»*3WYYK?QQ_cYfólisusZ{}qçwAÙ9T£¥Áªq®µS±½¿g §ÇÉ#¸µÒÕ×ÙÛÝßáãþåçéëíïÛÁãÏõýÅ8PÍ¿~VþCÈOaCOFðbJ<Üu±FúJù#ºÄ,~¤URK/9sK)0lzÓTN>y G¨/ -wêÂ)tÒQL¡zYê§?t\¥ò,*']Á&Zlû¸Æbr6l¶ÚÆÕ3¶lÝ#o±¥W®°¯}[³;øÞpÈNe1uqÀ½Ð%<Ù7ÅC¶öWsg1A/Á¶¦qÒ»1+Ú¡äЯ¬~$BvÒ̬§Ô¾÷Ø¿+ó«×txïª'WyÝm8+o\zþõ®S~¾ºõãǶ{Ï =;áð³»]}{·åá8¯bþú*ïv¿büìùI -$ C¾D QLQÅtPXÑÅañ·õKO3xlÑǰpÜÆÆ ê°¯ GÀÉhlcHØ<PGÈ¢t¶¤âÉתl°J¬ðû·/Ú2´.ÌÄ2ËGÌ Í)[36{³S8µ+ÎÀêÃer7tX<TJ+§{ó:>'<Ö qÃÒ;OTÑ$MZôJ1ss>HÍþósR¯{ÂUÕ9É¢V³Ð-V×QuÖWÕPUglµDY½5¥+ô ÔÁ$-ѳJ¥ÖUOåÖW¥ÖÚÝÔPcÖÛgwâ¨ØÄµ+Ù(MõW`«wZYÃ}×[y3ÅÓÞP¯]÷Ùo³â¶SQï(·®sJ÷Ç~½6Zhëmwáou AÜp8%ëÝà$.àñV^vq]x]_éuÕ_lsÕö&` ÕwßYcxã ÚáV¶·=.gûÉåRBµÕµ.cö\èæoÓÕ¤wk¤]Ø&W¶à=,DÍK7ñWMoXÑû^û¬½Ðt¯|d<üª¾..÷»1ýqýõ/wUGàµOÁý1°sþëÌg©6Ý!`·ÉâºöðSdÑÂ6±PílE6la«.$C*pâȤØÅl]\b£Ê85J¬qhkã 븧<þdÏ2JÁD©Eã$Xű°Q eûxÊlÚgþãØDøË\óW¹ f,{TËø2óã»ä)¯y¢m¶q0 z= Ãó¬ïqëºà8¯W®jO×µ~¹ÍUnsÛúæ8ßøÉ%ð ñMÞa¸ÀÁç>ôÐÞt)+ê[îñ>¼b}èP#k« ¬£ÙéÆzÔ¹Q!ÕLv xvùPyáR¯;_³þvtËÝëaZ±}Å>ö8£øéPïûRÿîX¬ç]ºf?ûá·@J ¸³=è#ç;Ýo:~ð Ô:G5%ëLÃßÌ _ÏiZö¥_çLòZB~C·òN¯ýñ"A±Í[Ü'ØøÏ½Pþ{³ ¥[æÑÎyÄaÝq|¿»æÏö©§¿skºý.øÌ÷¯ú-ÜèÏý`Îÿ\Nÿ"MûÏðºÏ1feIOü(¯øê ZÈî03îß@.ã8Ö¨MõJ°þù0ùJðÛ~®þèíýÆíåÏÒ@PÉîÆû¼õêé}0¦ô0êÉï&c®aùlMÛ|õ¯Üì þ|íß`Ïýÿø +nß¶ðþ¶ðáªâRP ¹pöë÷²j¡\)ù(ñèã \V©Pp+Þþâb ©ä\PÛT0ÛF°ÍÐWnQpñ±múd0û AÍ ·EÎzj`Þx®Þ®p pÖH ± OQ[ïeG±ÃPÿÆÌóï±"'F¼°+®Ï1íBªÛ[ê±¢»\QTÎyPÍëîè 7Q«#+_ãQM*rm%Ár#2*»©&¯²'¿2-ÙM®ÚÂ-ï.#r-a.=Q¤,+ð,Ò/ñÀH0oÒ«3. 3äÔ,ðÒ¼Q,Ué,ós#³--²)7óêÁWFȤîò3/r4îYÓ,ÉQ2U1C³+]25 peS©ú00Ò"]26q37Í$/è©Ó8¦þ6í:'9Á|hÅüä°LSýÈr8es/½Ò1ó:½SÐLæöR<S<¬8ËÓàvù¥V®§xÒ¯í<Ó=S%ql¯æ>N6ïÅ8}Ò6´.o4̶R.É3<û²Ao5iÓ?A:Cã 3SëH¤S@Ç>A5;1JtE¹1S?å³?§RA AcTEsCkÔB[3@]4GÏÓDim´BßóB =T(&³ôRI_´:§GÔGEóD¥´Je4#G£Ew4>ÁÔK;KTKsJ?ÔKHYCET§0sNÑÆMO³IþâI¹(Bñt?δHÓôO õ?+N{´Pÿ4P5KO*øTüTbìôMURó¥î2S)E9Õ?=H@*a?:õªÀèTTTbR¨RÉÔI]UMS5:IU?õV µ¼3QªWoõRqDw¨ZÕW#5VWUYÕUÕIµ©ìO×h°ÒD± ¯û²u=UCuB æ¹ú( ]gOü2uZ÷´ZäÛÞ` /æ1ÿàO_±µ#ñU!U\uPÊ\½pÛ1#1aùUã$ñâ°ùhP vT U¸µ[ÏÕ_ã^±ð_1þ=vâfö*Ö=à'dµRV?(®å VfCðZcö?. ®AÕoõFl÷¶wd#÷KrÆríVúÍÙ |
From: Gerard F. <ger...@us...> - 2001-09-16 19:46:55
|
Update of /cvsroot/kuml/kuml/docs/old_ftp/people/gerard/architecture In directory usw-pr-cvs1:/tmp/cvs-serv24442/people/gerard/architecture Added Files: architecture.dia architecture.ps Log Message: Checkin of files from project FTP site. --- NEW FILE --- ÅÁR]§Áì¯Û4YÇóa)UÉÍ(IÑ]]ßÝãjñÞ8½ V*=v¹J²DòûÕHÃ8úß2TBñíÕ»÷ì]ùHÕ ÝXuÚ¨$_émëIU/bI·oáù ¦¶D¶¤¶Ùõ*Ió4óc%Ó$TzòtºëÉfASå1CHÑË˧t£{ü±Ð÷*êÛ'¢»0§ªì|àbÉôO5Ë+çùôËÏèý¾çÿ7·j¸ÃgÂùåðWgß_ï<;tÁUÆyõ&È`ïÞGÓÛh~:==ø6Rû|ä`9!.æ|äbÚMÔòz¤ñ1¦Ê BÅ&çc£vN`2øB ·¼ytY·ÑsõÏѰx| Óä?ÒîÉò§eÔÊøj¶$ÎëtéëÈdð£Mô½øÔLɾ¯ÕOOì( ßLW±×i{¸¸;Å3E¦·ñRÕÿL*^/«×RK-®6ñpâ¤IÉ5DzØá©!ÒÇÛÄÈÎÆôøØ ÿX=>vÃGð(±ô{x<'<RSx¼`À¹x :$ðHÁ'ûÄÀ$«0ihT°X%o/?¦* r=pvN¬³d=t:]Sè ÂfòR+Àܸ>v¥GGÄÁÄ&nZÕ8=ÌÁ·¹úQÁ¯ÑÓNôt)a#ó>¡yVøäÆ _ÿpÒjÄN|ÀN×)¨¡ið´±Õ<aª)o<SzFªïãÛ0VJ_ë´cAEñïãöÓèwj¥â¹g÷5ð)áÓÁ¾ÇlÇímR6¢ØÕ;)®t7Í× Ï6«Ybò¨Å·óL,KÒp>ÌÅã'h§Í÷=çæi°¹Ò4Ù>Ò#.ÏQpÐ5õ ìú®ÐìȾeÍÈ~Þ¡¦ÀÁ1gðÜíz.q9dÏáì bbÜ¿öñ:IÈ/R¡[(ñ±U ©·¬Y? &´ë3¢oG=Rñ$¯ÝcÞÿí`I}_Ña°æs«à ÌÛ)ó¹]&%\ û\Xm?mªÍD`B¥Í.G»_~¹ù}¡äå æÛå,TÙ [$ 1|fh»©>U«²¡|ðá×ß¾}ß/ß³ýq_±îØiî`¶u? ÑÓOX¶nèôN \Y)r½ R(ÅëY=3ð¶:Ù_%®Mfû&ÀÏÉlúïØ Ê7 Z´eèfÆa¶@`J¬áÚEëvãy]²î¿XÆiyR»³´ðàc´OY!¸ Ò|¶ôóÐZ®³|W»FÍyö×W¶òºjý÷ZeÚ11ËÞÝwº øÊ¢4 3tG\MKéÁtÁ¼2mál²UÙæhz_¼#ÔS¯Î'*zHÝ=Õ3¯s1/ãkư ij¿Ð --- NEW FILE --- %!PS-Adobe-2.0 %%Title: /home/flynn/uml/dia/architecture.top_level %%Creator: Dia v0.82 %%CreationDate: Sun Oct 22 08:50:40 2000 %%For: a user %%DocumentPaperSizes: A4 %%Orientation: Landscape %%BeginSetup %%EndSetup %%EndComments %%BeginProlog [ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O [...666 lines suppressed...] (the interface for the language in question. ) 32.786504 20.631675 m gs 1 -1 sc sh gr 0.000000 0.000000 0.000000 srgb ( Access to Uml models is via CORBA references to the Uml) 32.786504 21.431675 m gs 1 -1 sc sh gr 0.000000 0.000000 0.000000 srgb (package which are furnished by the client. ) 32.786504 22.231675 m gs 1 -1 sc sh gr 0.100000 slw [0.200000] 0 sd [0.200000] 0 sd 0 slc 0.000000 0.000000 0.000000 srgb n 44.621704 16.986985 m 28.576400 10.000000 l s 0.100000 slw [0.200000] 0 sd [0.200000] 0 sd 0 slc 0.000000 0.000000 0.000000 srgb n 44.621704 16.986985 m 39.337200 10.050000 l s gr showpage |
From: Gerard F. <ger...@us...> - 2001-09-16 19:46:55
|
Update of /cvsroot/kuml/kuml/docs/old_ftp/people/foerster In directory usw-pr-cvs1:/tmp/cvs-serv24442/people/foerster Added Files: components.txt Log Message: Checkin of files from project FTP site. --- NEW FILE --- CORBA Components for the kUML Repository Server Version 1.0 08.05.2001 Component names marked with an asterisk(*) denote a class of components. For them there should be an abstract interface for the whole class. 1. Project Storage Responsibility: Providing versioned storage for project data. abstraction of several storage alternatives (File, DBMS) Uses: Access Control 2. Access Control Responsibility: Provide permission checking for operations on projects. All needed user data and mappings are stored within the component itself. 3. UML Implementation of the CORBA Facility defined in UML V1.3 Responsibility: Providing access to model data Uses: Access Control, Storage 4. Presentation Implementation of the PresentationElement Class/Interface in UML V1.3::Foundation Responsibility: Providing access to presentational data for model elements Uses: UML, Access Control, (Storage?) 5. XMI Responsibility: Handling of XMI Import/Export Uses: UML, Presentation, Access Control 6. Export* Responsibility: Export of model parts to several formats (e.g. images of certain diagrams, HTML doc of model) Uses: UML, Presentation, Access Control 7. Reverse Engineering* Responsibility: Import model data from source code Uses: UML, Access Control, (Presentation [automatic diagrams]?) 8. Forward Engineering* Responsibility: Export model to source code templates Uses: UML, Access Control |
From: Gerard F. <ger...@us...> - 2001-09-16 19:46:55
|
Update of /cvsroot/kuml/kuml/docs/old_ftp/people/darius/wal In directory usw-pr-cvs1:/tmp/cvs-serv24442/people/darius/wal Added Files: wal.dia wal.ps wal.txt Log Message: Checkin of files from project FTP site. --- NEW FILE --- ~çã,Ô²?¤ãi¶»ðée:vï¹éÂøÃ¨,óÏúââQ£·µ«b4l6 OW|û~4,¯ß}lú%èî?C-ñ!¢Ä_FÓÑûq¶ü£IÙZäC È÷t7fÓ5ojñó®gC.ÖMly̦'}q±â/ÆéCVÌÄý§ûE²âªðøÝýhï»9¾ÈßÿwvYÎæð_~Óë÷Þ88È~pÀ^eç<NrÞ _ÿ5ùô,?½æ¬~áG¸Í_Jß:(1TÕTNõÓY>E«¿ÿTvá<\³Oò-¯å+Bô1\ñ¯ú\RB¹ÜíÙ8»ywEoFÕ *{[ÕÜÖ&ÖJ ô:]]«¥*î~ ¶ão±äw½î?Fa~?}ÙÍ3ÿ»`÷Å"˽ú=ßü/.j½ Vb¬Ä4QD$îs!ÂtYIWDK¯ÁÒÿáu;º·Í&õ¥ %&²òJK,µìÄ÷÷ãt:]¡µ,Xk%Jhæß3#zW$ܬ·^¾}oâ:VººÂ9&>ö¶ÒFåu¾EV^K")î[÷ëïQaWJß»/¥]·ZÞêáînol:}÷øÁ´ñ¹1ÓÒVTñó%é_¿oñè»òÄͰòÎËà»ñãÀÅ¥ùÆ@þz³å`¾!8XÐ/*øp dW¯b4ËwÈ&w7³ @ÅfÎLHÚh3 Í6³mFÓf¤$TÐd¢e*6mÆË·òµô ÒÊêJBVÑy3í¦´¹VÅî 6óC¾j c6î3 ù*_f8èp1üÿî¢éaZ]ôÿcö±\üg¤aBúÜ®dD;øW0ãwäJN#}Å|ÒJÕ7dFìúÃ},×ÅK¯q½ 7áïãràÿ»fÓ/¯ÜßÝðøC>yþÚìãßçwÅÈAL=Ë&,ebq2ÛéÌNxóâ9»õm¾Hª?¾j<ºÜdÏûø-6çìÞ¤ÅUöCzùsz²ÞðÃZõ 5o^Zeiôþ4Õù\|K¤ Î|9ñúÝ+ûM»)mìëàHS9uÇ$Iжàüáß;ïyí¬{d͵×åð¾Ç*!RQ^¿xn¢§¡|Ekù0Î}NÕN/§ËFèºÜnJuÙ#,p."þË_ÿ|ÌÊÞ7L ¢%wo^ÐÄcCôS"1I-£ÝºiBUÕKÌ<uüJ»)mTfíüKôS´Ü«Fª«¯"³-¨'ËÛúóDwP±²Ïzà#^]ñlyÝè[Mi£"Ëø:Ì©5qtø»Yçи©¬Í·¦3^úvÜaYl½uÒ9¯¥[Á}í|±¬PD ]iÛÌfc=[8!bc¯VÏnb)c÷ اQÀg:%g·-}Ø©ÂÃ0 ^/Ëü Õ 2¿ ú@}BÕgo:^áÏÓ$WäÓ½Ð+@®8÷]/x @ â ânâ$vÝ HqrH×N<Å~Z°²ð¬<!Qá$©è\/_ÏåsÜ)³£õçFgÍ´Ñóf6¶`Í5íÜ Í@À2íö1n$HU#U °X¬ #¬þ2m¦³'C8ÔóR^7]3 ÊUæ# 'ÀSþ*P(OÑOHa2DÈm( ¤%=~Òµ°wrÒÅÓô×wj3#O½Bzé!¤á#ÂGzÊôQ¢>¤ ?Þ<!ZØÙ {ùv._WE'$a¼fj$Dâíft䡸+âÅcUBqâx§Åáà#¿u±ÛèßÙÊh\Gã!¯"+"ØÁ8#ZU§Á$~¿ô #*©n±k0åõ»êñwPã8A§1ûrpO¥õ¶B0ð3ËQ6Y`?]¸q±¬Þ_ì%¿Ì'§7>[ðáó«½ët2g¾¹ÓwsÞûôéËsµð¬ø}ÉÅ/.üFÏ¢IC5I#¯ pfÚYÙ(³#0Iãc+|jIîÁ$ÕþLÒ¶ÙZhªT9c1±mRj"¥0^¾³jþöwdVíNÛÂ(§Ô<0Yܸ4P*¢z[Ûª ³ÜÞ,e¨Yò½%O×,¢u-nlf¨e|µ ÷èf¹Õ@åÁ¥ØYÒ`³d0.ØìÑ5e.¾â3ùÖjÊᦺ#åî2ºY6O©q 5kSþòÝr7[ ³ìÌ,´Ë=zKv°fÉ\0fÄS³¤ÂwÆ03³ìÀ[Æ7K*}DivÈ·<D³d4®]6±¡xxOc# Ô©H\heôl$,ËWBújünÕnJ[×0İÚÛùß`Au¢,(ú7Ú íHòTgC{ =AÚSü õú©O£_t'¸ Î.> ü¡ ÚàÐß@ H±Åß @ P±é¼oàp8ØpÚ7úLà¬olM<.A<ü0'#Õʶ¬"ÉvA1ö(_{^''ÕJÝ/¦Õ6òbüu¨':nc µò@:8hF³xÐA_'ÉD¹+Jûp¹sfÂ'tä M^GGôE&Ý,½plz@:T 45¡« ÔmM C` rè1ô5X 'Ð ô8úôÐãI($¡@AÀ`°h Db¿_(Ðæ@ @è`D"<I¤«·"ICt»«|=oªÝUë7WIIh«ZÍèȼB£dÐèË0,ÃV/ÐèNðNÑèN ®S§æ`Ç[BÎ~c(SËÄ9è3J$g>ñÈQ;ß±(¯ßURó@J¬eëR£wÈÝ,eÀÜrgÌ:÷DßèÂôpõøðléN"#¯ ^Î#Cô;á3ÓTDzBØ+¾ã&h}jDDF¯ØxùÍäÓDº\¦¨ôW81IüÅ~»)mlËÃPAB×.÷cµåùë]ñCMçü?Ö~ì¾Âî«_g÷ÕÅ¡Sg× e8V;Jô,ç lt*e%ß8@ÕüI Òh_lRã@ão®,î0Á8JÇU¤:R RuÉ8áOáV7¼Ja:Ûà&zªÉÉ·¦¿ÒÜ%OðlRã@;̽²Zsæ®Û'»©¿¦ÖÿµûÄr¢kcgJG7öÆ 5©ÃÔóºÈøkúfJ«§rJà¾ÆCùîµÉ-(f~ú¶3-S¥§©/DÌîhT'ÖæY-ÔÄêÇ\ù®©ìýQZy Ê¥/ê§©>Înã ñ¯úÌZ§Ñ{"9ùÏå[ª¯ñ (´¿Â §ñ"µÒÆ% ×êÔwb¾z¬>¼zZ¿èÍêßõ¾ï óÉ©»ë ìý<Éï{÷×iÙM{¾hýënäfæ<gï¬wUþ<+øIy=÷õ«»lZ .27æænZúòËôî&s#&W½éèf4NÝø¼.õFY ܱJíéÌÒÜ*Q;Â=º §!z¾â²3@e$ÔËç Z0¨$ÂïŬî¸+ n¹I¥qVË+x÷0¶ÚêOYv¨]ÚÐRt1¤¢-JoÎó²Ù±rRâܸ®É°n7ðCjÓ 7NCµC6M¨q%ÉÍ;YvèV³F#<²tl´Ø ¦Ä5õ·n 0úw¶ªÆ®X{CwËiÝ¡û¦ÂûªÄnòo±wgçËóig ]c¾Õ8!vXQäç·ïÿ×3Éíj×$×·äPá¼C¸¨ÝÑy&!L$Êk5%ªê@*Në;*¯Çñ+6Sjh·4Uë<«¶õ$¶èn-¬@K´ä@K¼ ìÂÁCË\ÆÚ½s§u J´Vn+çºpn\ÙÚ UÑ8«ï(ê¹5N©y vNiϲ¬ÄÖ%úMÁ¹Á¹á-¨s¥Úq±Wç&Û87ªêvNÔÔý>¤Uä¦i}Géô]8·)5ô{׿D&±ý@M¤ sssÃ[8Pç¦Bun/.ÆéCV|söâb8J¯ôæ³ÿÍaÿ÷þ --- NEW FILE --- %!PS-Adobe-2.0 %%Title: /home/darius/coding/kuml2/darius/windowsystem.dia %%Creator: Dia v0.86 %%CreationDate: Tue Oct 3 15:25:52 2000 %%For: a user %%DocumentPaperSizes: A4 %%Orientation: Landscape %%BeginSetup %%EndSetup %%EndComments %%BeginProlog [ /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright /parenleft /parenright /asterisk /plus /comma /hyphen /period /slash /zero /one /two /three /four /five /six /seven /eight /nine /colon /semicolon /less /equal /greater /question /at /A /B /C /D /E /F /G /H /I /J /K /L /M /N /O [...1742 lines suppressed...] ( rect = ?) -30.132300 -297.821000 m gs 1 -1 sc sh gr 0.000000 0.000000 0.000000 srgb ( I don't know what is the equivalent ) -30.132300 -297.021000 m gs 1 -1 sc sh gr 0.000000 0.000000 0.000000 srgb ( gtk class for this. I guess there ) -30.132300 -296.221000 m gs 1 -1 sc sh gr 0.000000 0.000000 0.000000 srgb ( must be sumething similar to QRect) -30.132300 -295.421000 m gs 1 -1 sc sh gr 0.000000 0.000000 0.000000 srgb ( in Qt lib.) -30.132300 -294.621000 m gs 1 -1 sc sh gr 0.000000 0.000000 0.000000 srgb (}) -30.132300 -293.821000 m gs 1 -1 sc sh gr 0.100000 slw [] 0 sd [] 0 sd 0 slc 0.000000 0.000000 0.000000 srgb n -20.963500 -299.866000 m -15.092800 -304.692000 l s gr showpage --- NEW FILE --- Window Abstraction Layer Hi, I've thought a bit on how to realize a desktop system independed drawing layer and how much this would cost. My approach is based on the bridge pattern and I don't know if there are better ways to realize plattform independence. You can take a look at ftp://kuml.sourceforge.net/pub/kuml/people/darius for the diagrams I've created. (Its not the latest version as I have problems with scp; The resource seems to be temporarly unavailable) I've used dia for the diagrams as I want to play a little bit with it to get a better impression of its usability. In my opinion its a nice tool with good quality print outs. The dia diagrams looks much better then the argo ones (sorry Jason). There is also a postscript version available for the case dia makes problems. You can see a class Glyph in the diagrams that defines the interface for all drawable elements like classes, lines or text in the document/diagram editor. It defines the operation to paint itself, it knows the bounding rectangle area it needs for painting and it provides an operation for collision detection (when the user clicks on a painted element for instance). There are just three operation declared in class Glyph to keep it simple as this is not really what I want to discuss at the moment. I'm more interested in how the desktop system independence can be handled. By the way, I've taken the name for this class from the book "Design Patterns: Elements of reusable object-oriented software". I don't know if there is a much cooler name out in the world for this type of class. The interface Glyph does only depend on the abstract windowsystem. The plattform specific implementation of the abstract windowsystem is seperated in other classes. As its not trivial to design a complete new windowsystem we may use the Qt design as pattern. That would mean to create for each Qt class we need for our purpose an abstract one with seperated implementation. That would include classes like QWidget, QRect, QEvent and so on. The KDE specific implementation classes could mainly use the corresponding Qt class and just delegate the incoming calls to it. For instance the operation top() in the class Rect that is responsible to return the upper border of a rectangle will be delegated to the top() method defined in the Qt class QRect. I would like to give you an example how the painting will be done by using the Qt framework: QWidget::paintEvent(QPainter *p) [ p->drawLine(QPoint(10,10) QPoint(200,200)); } The QWidget class will receive a paint event and thus the paintEvent method will be called. Within the method the painting will be done by using the given QPainter object that provides functions to draw a line ... ---------------------------------------------------------------- Transfering to an abstract framework the code would look like this: ================================================ Widget::paint(Painter *p) { p->drawLine(Point(10,10), Point(200, 200)); } The abstract Painter class that delegates the incoming calls to the seperated implementation class: ======================================================== Painter::drawLine(Point a, Point b) { imp->drawLineImp(a, b); } KDE/Qt specific implementation for the Painter: =================================== KPainterImp::drawLineImp(Point a, Point b) { // rect is a QRect object rect->drawLine(a.x(), a.y(), b.x(), b.y()); } Gnome specific implementation for the Painter: ================================== GPainterImp::drawLineImp(Point a, Point b) { I don't know how the painting will be done in gnome. I have no idea of the gnome architecture. } |
From: Gerard F. <ger...@us...> - 2001-09-16 19:46:55
|
Update of /cvsroot/kuml/kuml/docs/old_ftp/design/dialogs In directory usw-pr-cvs1:/tmp/cvs-serv24442/design/dialogs Added Files: readme.txt Log Message: Checkin of files from project FTP site. --- NEW FILE --- The dialog files create with designer by keith have moved to kuml/people/keith/dialogs This folder is to removed after two weeks. Keith Isdale |
From: Gerard F. <ger...@us...> - 2001-09-16 19:43:27
|
Update of /cvsroot/kuml/kuml/docs/old_ftp/people/keith/docs In directory usw-pr-cvs1:/tmp/cvs-serv23870/docs Log Message: Directory /cvsroot/kuml/kuml/docs/old_ftp/people/keith/docs added to the repository |
From: Gerard F. <ger...@us...> - 2001-09-16 19:43:19
|
Update of /cvsroot/kuml/kuml/docs/old_ftp/people/keith/dialogs In directory usw-pr-cvs1:/tmp/cvs-serv23845/dialogs Log Message: Directory /cvsroot/kuml/kuml/docs/old_ftp/people/keith/dialogs added to the repository |
From: Gerard F. <ger...@us...> - 2001-09-16 19:41:47
|
Update of /cvsroot/kuml/kuml/docs/old_ftp/people/gerard/architecture In directory usw-pr-cvs1:/tmp/cvs-serv23571/architecture Log Message: Directory /cvsroot/kuml/kuml/docs/old_ftp/people/gerard/architecture added to the repository |