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: Darius S. <dst...@us...> - 2001-06-30 11:25:10
|
Update of /cvsroot/kuml/kuml/kuml_gui/src/app In directory usw-pr-cvs1:/tmp/cvs-serv31363 Added Files: readme.txt Log Message: Added file --- NEW FILE --- Place the gui app here |
From: Darius S. <dst...@us...> - 2001-06-30 11:05:15
|
Update of /cvsroot/kuml/kuml/kuml_gui/src/app In directory usw-pr-cvs1:/tmp/cvs-serv28788/app Log Message: Directory /cvsroot/kuml/kuml/kuml_gui/src/app added to the repository |
Update of /cvsroot/kuml/kuml/libkuml/mof In directory usw-pr-cvs1:/tmp/cvs-serv21315 Modified Files: Autogen.cpp BUILD ChangeLog Generic.cpp Generic.hh Makefile MofIdlInterfaces.cpp MofIdlInterfaces.hh MofIdlReverseMapper.cpp MofIdlReverseMapper.hh RegularExpression.t.cpp RepoManager.cpp RepoManager.hh RepoManager.t.cpp mCorba.cpp mCorba.hh notes.txt Added Files: KumlUtilities.cpp KumlUtilities.hh Removed Files: RegularExpression.cpp RegularExpression.hh Log Message: 2001-6-25 Gerard Flynn <ger...@fr...> * Fixed MofIdlMapping::InterfaceReverseMapper to preserve attribute ordering by adding attribute vector in addition to attribute map * Hacked MofIdlMapping::InterfaceReverseMapper::createObject to skip attributes of type CORBA::tk_objref, assume these are References 2001-6-30 Gerard Flynn <ger...@fr...> * Fixed repository ID creation for Class attributes in GenericClassProxy::fillInMetaObject * Fixed bug in definition of VisibilityKind type in GenericClassProxy::fillInMetaObject * RepoManager::buildImplementation now runs to completion without error * Corrected Mico prerequisite in BUILD file, >= 2.3.5 required * Renamed RegularExpression.hh and .cpp to KumlUtilities * Began work on mCorba::showTC function for TypeCode display VS: Committing in . VS: VS: Modified Files: VS: Autogen.cpp BUILD ChangeLog Generic.cpp Generic.hh VS: GenericTest.cc GenericTest.h Makefile MofIdlInterfaces.cpp VS: MofIdlInterfaces.hh MofIdlReverseMapper.cpp VS: MofIdlReverseMapper.hh RegularExpression.t.cpp RepoManager.cpp VS: RepoManager.hh RepoManager.t.cpp mCorba.cpp mCorba.hh VS: notes.txt VS: Added Files: VS: KumlUtilities.cpp KumlUtilities.hh VS: Removed Files: VS: RegularExpression.cpp RegularExpression.hh VS: ---------------------------------------------------------------------- ***** Error reading new file: [Errno 2] No such file or directory: 'KumlUtilities.cpp' ***** Error reading new file: [Errno 2] No such file or directory: 'KumlUtilities.hh' Index: Autogen.cpp =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/Autogen.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** Autogen.cpp 2001/06/22 03:42:03 1.1 --- Autogen.cpp 2001/06/30 07:31:26 1.2 *************** *** 24,52 **** /* ****************************************************************************/ ! /* $Header$ */ // $Id$ - /* ************************************************************************** - Autogen.cc - description - ------------------- - begin : Tue Nov 7 23:35:11 MEST 2000 - - copyright : (C) 2000 by Gerard Flynn - email : ger...@fr... - ***************************************************************************/ - - /* ************************************************************************** - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License as published by * - * the Free Software Foundation; either version 2 of the License, or * - * (at your option) any later version. * - * * - ***************************************************************************/ - #include "Autogen.hh" #include "Except.hh" ! #include "RegularExpression.hh" using namespace MofIdlMapping; --- 24,34 ---- /* ****************************************************************************/ ! /* $Header$ */ // $Id$ #include "Autogen.hh" #include "Except.hh" ! #include "KumlUtilities.hh" using namespace MofIdlMapping; Index: BUILD =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/BUILD,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** BUILD 2001/06/22 03:42:03 1.1 --- BUILD 2001/06/30 07:31:26 1.2 *************** *** 11,16 **** http://e2fsprogs.sourceforge.net. ! -mico (version 2.3.3 is known to work but later versions ! should as well) Available from http://www.mico.org. --- 11,16 ---- http://e2fsprogs.sourceforge.net. ! -mico (version 2.3.5 is known to work, version 2.3.3 does not work because ! of a DynamicAny bug). Available from http://www.mico.org. *************** *** 32,34 **** meta objects are created for each of the MOF classes. This is due to a mismatch between the Reflective create_instance operation arguments and the way in which ! attributes are stored by the Generic classes. \ No newline at end of file --- 32,34 ---- meta objects are created for each of the MOF classes. This is due to a mismatch between the Reflective create_instance operation arguments and the way in which ! attributes are stored by the Generic classes. Index: ChangeLog =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/ChangeLog,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** ChangeLog 2001/06/22 03:42:03 1.1 --- ChangeLog 2001/06/30 07:31:26 1.2 *************** *** 2,4 **** * Initial checkin * The code currently dies while trying to instantiate meta objects for the MOF ! Reflective implementation \ No newline at end of file --- 2,21 ---- * Initial checkin * The code currently dies while trying to instantiate meta objects for the MOF ! Reflective implementation ! ! 2001-6-25 Gerard Flynn <ger...@fr...> ! * Fixed MofIdlMapping::InterfaceReverseMapper to preserve attribute ordering ! by adding attribute vector in addition to attribute map ! * Hacked MofIdlMapping::InterfaceReverseMapper::createObject to skip ! attributes of type CORBA::tk_objref, assume these are References ! ! 2001-6-30 Gerard Flynn <ger...@fr...> ! * Fixed repository ID creation for Class attributes in ! GenericClassProxy::fillInMetaObject ! * Fixed bug in definition of VisibilityKind type in ! GenericClassProxy::fillInMetaObject ! * RepoManager::buildImplementation now runs to completion without ! error ! * Corrected Mico prerequisite in BUILD file, >= 2.3.5 required ! * Renamed RegularExpression.hh and .cpp to KumlUtilities ! * Began work on mCorba::showTC function for TypeCode display \ No newline at end of file Index: Generic.cpp =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/Generic.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** Generic.cpp 2001/06/22 03:42:03 1.1 --- Generic.cpp 2001/06/30 07:31:26 1.2 *************** *** 24,28 **** /* ****************************************************************************/ ! /* $Header$ */ #include "Generic.hh" --- 24,28 ---- /* ****************************************************************************/ ! /* $Header$ */ #include "Generic.hh" *************** *** 590,594 **** CORBA::TypeCode_var nameType_tc = ! mCorba::orb->create_alias_tc( "org.omg.mof/Model/NameType:1.0", "NameType", string_tc.in() ); --- 590,594 ---- CORBA::TypeCode_var nameType_tc = ! mCorba::orb->create_alias_tc( "IDL:org.omg.mof/Model/NameType", "NameType", string_tc.in() ); *************** *** 600,604 **** CORBA::TypeCode_var annotationType_tc = ! mCorba::orb->create_alias_tc( "org.omg.mof/Model/AnnotationType:1.0", "AnnotationType", string_tc.in() ); --- 600,604 ---- CORBA::TypeCode_var annotationType_tc = ! mCorba::orb->create_alias_tc( "IDL:org.omg.mof/Model/AnnotationType", "AnnotationType", string_tc.in() ); *************** *** 609,620 **** annotationType_da->insert_string( m_annotation.c_str() ); CORBA::EnumMemberSeq_var members = new CORBA::EnumMemberSeq; members->length( 3 ); members[0] = CORBA::string_dup( "public_vis" ); ! members[2] = CORBA::string_dup( "protected_vis" ); ! members[3] = CORBA::string_dup( "private_vis" ); CORBA::TypeCode_var visibilityKind_tc = ! mCorba::orb->create_enum_tc( "org.omg.mof/Model/VisibilityKind:1.0", "VisibilityKind", members.in() ); --- 609,639 ---- annotationType_da->insert_string( m_annotation.c_str() ); + CORBA::TypeCode_var modelElement_tc = + mCorba::orb->create_interface_tc( "IDL:org.omg.mof/Model/ModelElement", + "ModelElement" ); + + CORBA::TypeCode_var seq_ModelElement_tc = + mCorba::orb->create_sequence_tc( 0, modelElement_tc.in() ); + + CORBA::TypeCode_var ModelElementUList_tc = + mCorba::orb->create_alias_tc( "IDL:org.omg.mof/Model/ModelElementUList", + "ModelElementUlist", + seq_ModelElement_tc.in() ); + + // DynamicAny::DynAny_var contents_da = + // mCorba::theDynAnyFactory-> + // create_dyn_any_from_type_code( ModelElementUList_tc.in() ); + + // DynamicAny::DynSequence_var contents_ds = DynamicAny::DynSequence::_narrow( contents_da ); + // contents_ds->set_length( 0 ); + CORBA::EnumMemberSeq_var members = new CORBA::EnumMemberSeq; members->length( 3 ); members[0] = CORBA::string_dup( "public_vis" ); ! members[1] = CORBA::string_dup( "protected_vis" ); ! members[2] = CORBA::string_dup( "private_vis" ); CORBA::TypeCode_var visibilityKind_tc = ! mCorba::orb->create_enum_tc( "IDL:org.omg.mof/Model/VisibilityKind", "VisibilityKind", members.in() ); *************** *** 659,662 **** --- 678,682 ---- args[0] = *(nameType_da->to_any()); args[1] = *(annotationType_da->to_any()); + // args[2] = *(contents_da->to_any() ); args[2] = is_root_any; args[3] = is_leaf_any; *************** *** 839,842 **** --- 859,892 ---- } + stringVect GenericClassProxy::instanceLevelAttributeNames() + { + stringVect retvect; + featureVect::const_iterator p; + for( p = m_instanceLevelFeatures.begin(); + p != m_instanceLevelFeatures.end(); ++p ) + { + GenericAttribute* attr = dynamic_cast<GenericAttribute*>( (*p)->feature ); + if( attr ) { + retvect.push_back( attr->name() ); + } + } + return retvect; + } + + stringVect GenericClassProxy::classifierLevelAttributeNames() + { + stringVect retvect; + featureVect::const_iterator p; + for( p = m_classifierLevelFeatures.begin(); + p != m_classifierLevelFeatures.end(); ++p ) + { + GenericAttribute* attr = dynamic_cast<GenericAttribute*>( (*p)->feature ); + if( attr ) { + retvect.push_back( attr->name() ); + } + } + return retvect; + } + GenericInstance::GenericInstance( const string& name, GenericClassProxy* proxy, *************** *** 1056,1060 **** --- 1106,1115 ---- bool GenericStructuralFeature::checkType( const Reflective::ValueType& element ) { + cerr << "Call to GenericStructuralFeature::check_type" << endl; CORBA::TypeCode_var tc_element = element.type(); + cerr << "Argument TypeCode : " << endl; + mCorba::showTC( element.type() ); + cerr << "Base TypeCode : " << endl; + mCorba::showTC( &m_base_type ); return m_base_type.equal( tc_element ); *************** *** 1150,1158 **** --- 1205,1217 ---- void GenericValue::set_value( const Reflective::ValueType& new_value ) { + cerr << "Call to GenericValue::set_value" << endl; + cerr << " Feature name : " << p_feature->name() << endl; const Multiplicity* multiplicity = p_feature->multiplicity(); switch( multiplicity->kind() ) { case SINGLE_VALUED: case OPTIONAL_VALUED: + cerr << " non m-value multiplicity" << endl; if( !p_feature->checkType( new_value ) ) { + cerr << "Wrong type in GenericValue::set_value" << endl; throw GenericException( INVALID_PARAMETER ); } *************** *** 1164,1167 **** --- 1223,1227 ---- } else { + cerr << "Wrong size for non m-value attribute in GenericValue::set_value" << endl; throw GenericException( INTERNAL_ERROR ); } *************** *** 1169,1174 **** --- 1229,1236 ---- case MULTI_VALUED: { + cerr << " m-value multiplicity" << endl; DynamicAny::DynAny_var da = mCorba::theDynAnyFactory->create_dyn_any( new_value ); if( !multiplicity->checkBounds( da->component_count() ) ) { + cerr << "Wrong bounds for m-value attribute in GenericValue::set_value" << endl; throw GenericException( INVALID_PARAMETER ); } Index: Generic.hh =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/Generic.hh,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** Generic.hh 2001/06/22 03:42:03 1.1 --- Generic.hh 2001/06/30 07:31:26 1.2 *************** *** 24,28 **** /* ****************************************************************************/ ! /* $Header$ */ #ifndef Generic_H_IS_INCLUDED --- 24,28 ---- /* ****************************************************************************/ ! /* $Header$ */ #ifndef Generic_H_IS_INCLUDED *************** *** 51,59 **** mapping : GenericBaseObect <=> RefBaseObject ! GenericClassProxy => RefObject ! GenericInstance => RefObject ! GenericAssociation => RefAssociation ! GenericPackage => Refackage ! GenericPackageFactory => RefPackage */ --- 51,59 ---- mapping : GenericBaseObect <=> RefBaseObject ! GenericClassProxy <=> RefObject ! GenericInstance <=> RefObject ! GenericAssociation <=> RefAssociation ! GenericPackage <=> Refackage ! GenericPackageFactory <=> RefPackage */ *************** *** 335,338 **** --- 335,340 ---- }; + typedef vector<string> stringVect; + /* GenericClassProxy and its ssociated classes are intended to *************** *** 390,393 **** --- 392,399 ---- GenericClassProxy* containedClass( const string& name ); + + stringVect instanceLevelAttributeNames(); + + stringVect classifierLevelAttributeNames(); public: // MOF operations. (Value operations implemented in GenericInstance). Index: Makefile =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/Makefile,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** Makefile 2001/06/22 03:42:03 1.1 --- Makefile 2001/06/30 07:31:26 1.2 *************** *** 27,31 **** MofIdlMapping_t_OBJECTS = MofIdlInterfaces.o MofIdlReverseMapper.o MofIdlMapping.t.o \ ! Generic.o Reflective_impl.o Reflective.o mCorba.o RegularExpression.o \ Autogen.o parsenode.o prepro.o scanner.o parser.o treewalker.o yacc.o --- 27,31 ---- MofIdlMapping_t_OBJECTS = MofIdlInterfaces.o MofIdlReverseMapper.o MofIdlMapping.t.o \ ! Generic.o Reflective_impl.o Reflective.o mCorba.o KumlUtilities.o \ Autogen.o parsenode.o prepro.o scanner.o parser.o treewalker.o yacc.o *************** *** 35,39 **** RepoManager_t_OBJECTS = RepoManager.t.o RepoManager.o MofIdlInterfaces.o \ MofIdlReverseMapper.o Generic.o Reflective_impl.o Reflective.o mCorba.o \ ! RegularExpression.o Autogen.o parsenode.o prepro.o scanner.o \ parser.o treewalker.o yacc.o --- 35,39 ---- RepoManager_t_OBJECTS = RepoManager.t.o RepoManager.o MofIdlInterfaces.o \ MofIdlReverseMapper.o Generic.o Reflective_impl.o Reflective.o mCorba.o \ ! KumlUtilities.o Autogen.o parsenode.o prepro.o scanner.o \ parser.o treewalker.o yacc.o *************** *** 42,49 **** ! RegularExpression.t : RegularExpression.t.o RegularExpression.o g++ -o $@ $^ ! RegularExpression.cpp : RegularExpression.hh MofIdlInterfaces.cpp : MofIdlInterfaces.hh Generic.hh --- 42,49 ---- ! RegularExpression.t : RegularExpression.t.o KumlUtilities.o g++ -o $@ $^ ! KumlUtilities.cpp : KumlUtilities.hh MofIdlInterfaces.cpp : MofIdlInterfaces.hh Generic.hh Index: MofIdlInterfaces.cpp =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/MofIdlInterfaces.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** MofIdlInterfaces.cpp 2001/06/22 03:42:03 1.1 --- MofIdlInterfaces.cpp 2001/06/30 07:31:26 1.2 *************** *** 24,31 **** /* ****************************************************************************/ ! /* $Header$ */ #include "MofIdlInterfaces.hh" ! #include "RegularExpression.hh" using namespace MofIdlMapping; --- 24,31 ---- /* ****************************************************************************/ ! /* $Header$*/ #include "MofIdlInterfaces.hh" ! #include "KumlUtilities.hh" using namespace MofIdlMapping; Index: MofIdlInterfaces.hh =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/MofIdlInterfaces.hh,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** MofIdlInterfaces.hh 2001/06/22 03:42:03 1.1 --- MofIdlInterfaces.hh 2001/06/30 07:31:26 1.2 *************** *** 24,28 **** /* ****************************************************************************/ ! /* $Header$ */ #ifndef MofIdlInterfaces_H_IS_INCLUDED --- 24,28 ---- /* ****************************************************************************/ ! /* $Header$*/ #ifndef MofIdlInterfaces_H_IS_INCLUDED Index: MofIdlReverseMapper.cpp =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/MofIdlReverseMapper.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** MofIdlReverseMapper.cpp 2001/06/22 03:42:03 1.1 --- MofIdlReverseMapper.cpp 2001/06/30 07:31:26 1.2 *************** *** 24,31 **** /* ****************************************************************************/ ! /* $Header$ */ #include "MofIdlReverseMapper.hh" ! #include "RegularExpression.hh" using namespace MofIdlMapping; --- 24,31 ---- /* ****************************************************************************/ ! /* $Header$ */ #include "MofIdlReverseMapper.hh" ! #include "KumlUtilities.hh" using namespace MofIdlMapping; *************** *** 149,158 **** string attrName = opMapper->getAssociatedAttributeName(); attrMap::iterator p = ! m_attributes.find( attrName ); attribute_struct* attr; ! if( p == m_attributes.end() ) { // new attribute attr = new attribute_struct; attr->name = attrName; ! m_attributes[ attr->name ] = attr; } else { // attribute already exists in map. --- 149,159 ---- string attrName = opMapper->getAssociatedAttributeName(); attrMap::iterator p = ! m_attributeMap.find( attrName ); attribute_struct* attr; ! if( p == m_attributeMap.end() ) { // new attribute attr = new attribute_struct; attr->name = attrName; ! m_attributes.push_back( attr ); ! m_attributeMap[ attr->name ] = attr; } else { // attribute already exists in map. *************** *** 191,200 **** string attrName = (*p)->getName(); attrMap::iterator q = ! m_attributes.find( attrName ); attribute_struct* attr; ! if( q == m_attributes.end() ) { // new attribute attr = new attribute_struct; attr->name = attrName; ! m_attributes[ attr->name ] = attr; } else { // attribute already exists in map. --- 192,202 ---- string attrName = (*p)->getName(); attrMap::iterator q = ! m_attributeMap.find( attrName ); attribute_struct* attr; ! if( q == m_attributeMap.end() ) { // new attribute attr = new attribute_struct; attr->name = attrName; ! m_attributes.push_back( attr ); ! m_attributeMap[ attr->name ] = attr; } else { // attribute already exists in map. *************** *** 210,244 **** // This function must only be called from (or after) analyzeOperations. ! for( attrMapIter p = m_attributes.begin(); p != m_attributes.end(); ++p ) { ! // Set attribute properties to known stae. ! p->second->isMultivalued = false; ! p->second->isOrdered = false; ! p->second->isUnique = false; ! p->second->isChangeable = false; ! p->second->isOptional = false; ! ! if( has( p->second, SET ) ) { ! p->second->isChangeable = true; } ! if( has( p->second, UNSET ) ) { ! p->second->isOptional = true; } ! if( has( p->second, ADD ) ) { ! p->second->isMultivalued = true; } ! if( has( p->second, ADD_BEFORE ) ) { ! p->second->isOrdered = true; } ! if( p->second->isOrdered ) { // See Table 5-1, page 5-18 of MOFv1.3 ! if( ! has( p->second, ADD_AT ) ) { ! p->second->isUnique = true; } } ! p->second->base_type = getAttrBaseType( p->second ); ! p->second->collection_type = getAttrCollectionType( p->second ); } --- 212,246 ---- // This function must only be called from (or after) analyzeOperations. ! for( attrVectIter p = m_attributes.begin(); p != m_attributes.end(); ++p ) { ! // Set attribute properties to known state. ! (*p)->isMultivalued = false; ! (*p)->isOrdered = false; ! (*p)->isUnique = false; ! (*p)->isChangeable = false; ! (*p)->isOptional = false; ! ! if( has( (*p), SET ) ) { ! (*p)->isChangeable = true; } ! if( has( (*p), UNSET ) ) { ! (*p)->isOptional = true; } ! if( has( (*p), ADD ) ) { ! (*p)->isMultivalued = true; } ! if( has( (*p), ADD_BEFORE ) ) { ! (*p)->isOrdered = true; } ! if( (*p)->isOrdered ) { // See Table 5-1, page 5-18 of MOFv1.3 ! if( ! has( (*p), ADD_AT ) ) { ! (*p)->isUnique = true; } } ! (*p)->base_type = getAttrBaseType( (*p) ); ! (*p)->collection_type = getAttrCollectionType( (*p) ); } *************** *** 420,430 **** GenericClassProxy* class_proxy = new GenericClassProxy( p_interface->getName(), 0 ); //Add attributes ! for( attrMapIter p = m_attributes.begin(); p != m_attributes.end(); ++p ) { ! attribute_struct* attr = p->second; cerr << "Adding attribute : " << attr->name << endl; cerr << "Before call to createTypeCode (base)" << endl; const CORBA::TypeCode* base_tc = attr->base_type->createTypeCode(); cerr << "After call to createTypeCode (base)" << endl; --- 422,437 ---- GenericClassProxy* class_proxy = new GenericClassProxy( p_interface->getName(), 0 ); //Add attributes ! for( attrVectIter p = m_attributes.begin(); p != m_attributes.end(); ++p ) { ! attribute_struct* attr = *p; cerr << "Adding attribute : " << attr->name << endl; cerr << "Before call to createTypeCode (base)" << endl; + if( attr->base_type->getKind() == CORBA::tk_objref ) { + // If Type is an interface we assume we're dealing with a Reference + // and not an Attribute. (Temporary hack 2001-6-25). + continue; + } const CORBA::TypeCode* base_tc = attr->base_type->createTypeCode(); cerr << "After call to createTypeCode (base)" << endl; Index: MofIdlReverseMapper.hh =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/MofIdlReverseMapper.hh,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** MofIdlReverseMapper.hh 2001/06/22 03:42:03 1.1 --- MofIdlReverseMapper.hh 2001/06/30 07:31:26 1.2 *************** *** 24,28 **** /* ****************************************************************************/ ! /* $Header$ */ #ifndef MofIdlReverseMapper_H_IS_INCLUDED --- 24,28 ---- /* ****************************************************************************/ ! /* $Header$ */ #ifndef MofIdlReverseMapper_H_IS_INCLUDED *************** *** 103,106 **** --- 103,110 ---- }; + typedef vector<attribute_struct*> attrVect; + + typedef attrVect::iterator attrVectIter; + typedef map<string,attribute_struct*> attrMap; *************** *** 143,148 **** iface_type m_type; ! attrMap m_attributes; }; // class InterfaceReverseMapper. --- 147,154 ---- iface_type m_type; + + attrVect m_attributes; ! attrMap m_attributeMap; }; // class InterfaceReverseMapper. Index: RegularExpression.t.cpp =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/RegularExpression.t.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** RegularExpression.t.cpp 2001/06/22 03:42:04 1.1 --- RegularExpression.t.cpp 2001/06/30 07:31:26 1.2 *************** *** 24,28 **** /* ****************************************************************************/ ! #include "RegularExpression.hh" #include <string> #include <iostream> --- 24,30 ---- /* ****************************************************************************/ ! /* $Header$ */ ! ! #include "KumlUtilities.hh" #include <string> #include <iostream> Index: RepoManager.cpp =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/RepoManager.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** RepoManager.cpp 2001/06/22 03:42:04 1.1 --- RepoManager.cpp 2001/06/30 07:31:26 1.2 *************** *** 24,27 **** --- 24,29 ---- /* ****************************************************************************/ + /* $Header$ */ + #include "RepoManager.hh" *************** *** 79,82 **** --- 81,94 ---- assert( MofClass ); assert( MofAttribute ); + + cerr << "MofClass attributes : " << endl; + stringVect class_attr_names = MofClass->instanceLevelAttributeNames(); + for( stringVect::const_iterator p = class_attr_names.begin(); + p != class_attr_names.end(); + ++p ) + { + cerr << " " << *p << endl; + } + // exit( 0 ); classVect classProxies = mof_model_package->allClassProxies(); // Create meta objects for all class proxy's so that we have valid MOF ID's *************** *** 91,95 **** // Now fill in all of the meta object attributes (possible because we now have ! // valid MOF ID's. try { for( classVect::iterator p = classProxies.begin(); --- 103,107 ---- // Now fill in all of the meta object attributes (possible because we now have ! // valid MOF ID's). try { for( classVect::iterator p = classProxies.begin(); Index: RepoManager.hh =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/RepoManager.hh,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** RepoManager.hh 2001/06/22 03:42:04 1.1 --- RepoManager.hh 2001/06/30 07:31:26 1.2 *************** *** 24,27 **** --- 24,29 ---- /* ****************************************************************************/ + /* $Header$ */ + #ifndef RepoManager_H_IS_INCLUDED #define RepoManager_H_IS_INCLUDED Index: RepoManager.t.cpp =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/RepoManager.t.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** RepoManager.t.cpp 2001/06/22 03:42:04 1.1 --- RepoManager.t.cpp 2001/06/30 07:31:26 1.2 *************** *** 24,28 **** /* ****************************************************************************/ ! /* $Header$ */ #include "RepoManager.hh" --- 24,28 ---- /* ****************************************************************************/ ! /* $Header$ */ #include "RepoManager.hh" Index: mCorba.cpp =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/mCorba.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** mCorba.cpp 2001/06/22 03:42:04 1.1 --- mCorba.cpp 2001/06/30 07:31:26 1.2 *************** *** 24,28 **** /* ****************************************************************************/ ! /* $Header$ */ #include "mCorba.hh" --- 24,28 ---- /* ****************************************************************************/ ! /* $Header$ */ #include "mCorba.hh" *************** *** 251,252 **** --- 251,321 ---- } + void mCorba::showTC( const CORBA::TypeCode_ptr tc ) + { + static const char* kind_name[] = { + "tk_null", + "tk_void", + "tk_short", + "tk_long", + "tk_ushort", + "tk_ulong", + "tk_float", + "tk_double", + "tk_boolean", + "tk_char", + "tk_octet", + "tk_any", + "tk_TypeCode", + "tk_Principal", + "tk_objref", + "tk_struct", + "tk_union", + "tk_enum", + "tk_string", + "tk_sequence", + "tk_array", + "tk_alias", + "tk_except", + "tk_longlong", + "tk_ulonglong", + "tk_longdouble", + "tk_wchar", + "tk_wstring", + "tk_fixed", + "tk_value", + "tk_value_box", + "tk_native", + "tk_abstract_interface" + }; + + // In all cases we start by printing the kind string. + cout << kind_name[ tc->kind() ] << " : "; + + // For Types that have them, we print the name and repository ID + switch( tc->kind() ) { + case CORBA::tk_objref: + case CORBA::tk_struct: + case CORBA::tk_union: + case CORBA::tk_except: + case CORBA::tk_enum: + case CORBA::tk_alias: + cout << " " << tc->name() << "( " << tc->id() << " )" << endl; + default: + cout << endl; + break; + } + + switch( tc->kind() ) { + case CORBA::tk_enum: + cout << " Enum members :" << endl; + for( int i = 0; i < tc->member_count(); i++ ) { + cout << " " << tc->member_name(i) << endl; + } + break; + default: + break; + } + + + + } Index: mCorba.hh =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/mCorba.hh,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** mCorba.hh 2001/06/22 03:42:04 1.1 --- mCorba.hh 2001/06/30 07:31:26 1.2 *************** *** 24,28 **** /* ****************************************************************************/ ! /* $Header$ */ #ifndef mCorba_H_IS_INCLUDED --- 24,28 ---- /* ****************************************************************************/ ! /* $Header$ */ #ifndef mCorba_H_IS_INCLUDED *************** *** 60,63 **** --- 60,65 ---- static void stripspace( string& chaine ); + + static void showTC( const CORBA::TypeCode_ptr tc ); private: mCorba(); Index: notes.txt =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/mof/notes.txt,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** notes.txt 2001/06/22 03:42:04 1.1 --- notes.txt 2001/06/30 07:31:26 1.2 *************** *** 109,111 **** a mismatch between the create_instance arguments as defined by the MOF spec and the attributes that classes actually contain. Will ! have to go back to the MOF spec to figure out what is going on. \ No newline at end of file --- 109,133 ---- a mismatch between the create_instance arguments as defined by the MOF spec and the attributes that classes actually contain. Will ! have to go back to the MOF spec to figure out what is going on. ! ! 2001-6-24 ! ! There are several problems with the manner in which attributes ! are handled: ! ! 1) The IDL mapper doesn't distingush between References and ! Attributes. In fact until now I had assumed that all MOF ! classes only contained attributes therefore the ! MofIdlReverseMapper has no provisions whatsoever for handling ! references. ! ! 2) The ordering of attributes within an interface is not ! maintained. In addition we must verify that the order ! of appearance of attributes in the IDL interfaces does ! in fact correspond to the order the Reflective interfaces ! should use. ! ! 3) It appears that the order of attributes from different ! super-classes is not consistent either. (contents appearing ! before annotation in Class). ! --- RegularExpression.cpp DELETED --- --- RegularExpression.hh DELETED --- |
From: Darius S. <dst...@us...> - 2001-06-29 14:08:36
|
Update of /cvsroot/kuml/kuml In directory usw-pr-cvs1:/tmp/cvs-serv2475 Added Files: ChangeLog Log Message: Added global ChangeLog file that will be used to be shown on the homepage --- NEW FILE --- 2001-06-25 Darius Stachow <sta...@in...> * Initial import of the generated sources for the interactive graphical editor. It's a skeleton implementation that needs to be worked out now. The design is usable but still needs some more work on some details. 2001-06-22 Gerard Flynn <ger...@fr...> * Initial checkin of Meta Object Facility * The code currently dies while trying to instantiate meta objects for the MOF Reflective implementation |
From: Darius S. <dst...@us...> - 2001-06-28 12:55:44
|
Update of /cvsroot/kuml/kuml/kuml_gui/src/ige In directory usw-pr-cvs1:/tmp/cvs-serv1668 Added Files: ChangeLog Log Message: Added file --- NEW FILE --- 2001-06-25 Darius Stachow <sta...@in...> * Initial import of the generated sources for the interactive graphical editor. It's a skeleton implementation that needs to be worked out now. The design is usable but still needs some more work on some details. |
From: Darius S. <dst...@us...> - 2001-06-22 22:42:32
|
Update of /cvsroot/kuml/kuml/kuml_gui/src/ige In directory usw-pr-cvs1:/tmp/cvs-serv16616 Added Files: links.txt Log Message: Added file --- NEW FILE --- Last updated on 05.19.2001 Useful articles on how to build an interactive graphical editor --------------------------------------------------------------- Using the Multi-Layer Model for Building Interactive Graphical Applications from Jean-Daniel Fekete http://citeseer.nj.nec.com/fekete96using.html Building an OMT-Editor using design patterns: An experience report http://citeseer.nj.nec.com/288953.html Some comments about the Toolkit InterViews 3.1 from Jean-Daniel Fekete http://citeseer.nj.nec.com/64067.html GRAL 2.0: A Reference Manual http://citeseer.nj.nec.com/franzke97gral.html A Description of the Model-View-Controller User Interface Paradigm in the Smalltalk-80 System http://citeseer.nj.nec.com/krasner88description.html A Diagram Editor with a Minimal Interface http://citeseer.nj.nec.com/155098.html The Use of Semantic Constraints on Diagram Editors from J. Artur Serrano http://citeseer.nj.nec.com/serrano95use.html (geometric) Constraints in Interactive Graphical Applications from Gregory J. Badros http://citeseer.nj.nec.com/143206.html Grasyla: Modelling Case Tool GUIs In MetaCASEs - Vincent Englebert.. http://citeseer.nj.nec.com/384742.html A Declarative Approach to Graph Based Modeling http://citeseer.nj.nec.com/ebert95declarative.html Vectorgraphics foundry at sourceforge http://sourceforge.net/foundry/vectorgraphics/ MVC object-oriented design pattern explained http://compsci.about.com/science/compsci/cs/mvcpattern/ Other editor frameworks ------------------------- Toolkit InterViews 3.1 http://sourceforge.net/projects/ivtools/ The Toolkit for Conceptual Modeling is a collection of software tools to present conceptual models of software systems in the form of diagrams, tables, trees, and the like http://wwwhome.cs.utwente.nl/~tcm/index.html Java Library for Connected Graph Editors (Jason Robbins) http://gef.tigris.org JHotDraw is a two-dimensional graphics framework for structured drawing editors that is written in Java. (Erich Gamma) http://sourceforge.net/projects/jhotdraw |
From: Gerard F. <ger...@us...> - 2001-06-22 03:51:14
|
Update of /cvsroot/kuml/kuml/libkuml/mof In directory usw-pr-cvs1:/tmp/cvs-serv10905 Added Files: AUTHORS Log Message: Added an AUTHORS file for libkuml/mof. VS: Added Files: VS: AUTHORS VS: ---------------------------------------------------------------------- --- NEW FILE --- Authors: (for the libkuml/mof directory) Gerard Flynn <ger...@fr...> The following files are taken from MICO (http://www.mico.org) and are copyright Kay Roemer & Arno Puder. parsenode.h parsenode.cc parser.h parser.cc prepro.h prepro.cc |
From: Gerard F. <ger...@us...> - 2001-06-22 03:40:03
|
Update of /cvsroot/kuml/kuml/libkuml/mof In directory usw-pr-cvs1:/tmp/cvs-serv9566/mof Log Message: Directory /cvsroot/kuml/kuml/libkuml/mof added to the repository |
From: Darius S. <dst...@us...> - 2001-06-20 19:22:01
|
Update of /cvsroot/kuml/kuml/kuml_gui/src In directory usw-pr-cvs1:/tmp/cvs-serv2726 Log Message: Imported sources Status: Vendor Tag: dstachow Release Tags: start N kuml/kuml_gui/src/ige/typedefs.h N kuml/kuml_gui/src/ige/.cvsignore N kuml/kuml_gui/src/ige/ige.pro N kuml/kuml_gui/src/ige/Makefile N kuml/kuml_gui/src/ige/readme.txt N kuml/kuml_gui/src/ige/extensions/uml/.cvsignore N kuml/kuml_gui/src/ige/extensions/uml/documents/ClassDiagram.h N kuml/kuml_gui/src/ige/extensions/uml/documents/UseCaseDiagram.h N kuml/kuml_gui/src/ige/extensions/uml/documents/UmlDiagram.h N kuml/kuml_gui/src/ige/extensions/uml/documents/UmlDiagram.cpp N kuml/kuml_gui/src/ige/extensions/uml/documents/ClassDiagram.cpp N kuml/kuml_gui/src/ige/extensions/uml/documents/UseCaseDiagram.cpp N kuml/kuml_gui/src/ige/extensions/uml/documents/.cvsignore N kuml/kuml_gui/src/ige/extensions/uml/editors/UmlEditor.h N kuml/kuml_gui/src/ige/extensions/uml/editors/.cvsignore N kuml/kuml_gui/src/ige/extensions/uml/commands/NewAssociationCmd.cpp N kuml/kuml_gui/src/ige/extensions/uml/commands/NewGeneralizationCmd.cpp N kuml/kuml_gui/src/ige/extensions/uml/commands/NewAssociationCmd.h N kuml/kuml_gui/src/ige/extensions/uml/commands/NewClassCmd.h N kuml/kuml_gui/src/ige/extensions/uml/commands/NewClassDiagramCmd.h N kuml/kuml_gui/src/ige/extensions/uml/commands/NewClassDiagramCmd.cpp N kuml/kuml_gui/src/ige/extensions/uml/commands/NewClassCmd.cpp N kuml/kuml_gui/src/ige/extensions/uml/commands/NewGeneralizationCmd.h N kuml/kuml_gui/src/ige/extensions/uml/commands/.cvsignore N kuml/kuml_gui/src/ige/extensions/uml/models/.cvsignore N kuml/kuml_gui/src/ige/extensions/uml/models/BehavioralElements/.cvsignore N kuml/kuml_gui/src/ige/extensions/uml/models/BehavioralElements/UseCases/UseCaseModel.h N kuml/kuml_gui/src/ige/extensions/uml/models/BehavioralElements/UseCases/UseCaseModel.cpp N kuml/kuml_gui/src/ige/extensions/uml/models/BehavioralElements/UseCases/.cvsignore N kuml/kuml_gui/src/ige/extensions/uml/models/Foundation/.cvsignore N kuml/kuml_gui/src/ige/extensions/uml/models/Foundation/Core/OperationModel.h N kuml/kuml_gui/src/ige/extensions/uml/models/Foundation/Core/GeneralizationModel.h N kuml/kuml_gui/src/ige/extensions/uml/models/Foundation/Core/ClassModel.h N kuml/kuml_gui/src/ige/extensions/uml/models/Foundation/Core/AttributeModel.h N kuml/kuml_gui/src/ige/extensions/uml/models/Foundation/Core/AssociationModel.h N kuml/kuml_gui/src/ige/extensions/uml/models/Foundation/Core/OperationModel.cpp N kuml/kuml_gui/src/ige/extensions/uml/models/Foundation/Core/GeneralizationModel.cpp N kuml/kuml_gui/src/ige/extensions/uml/models/Foundation/Core/ClassModel.cpp N kuml/kuml_gui/src/ige/extensions/uml/models/Foundation/Core/AssociationModel.cpp N kuml/kuml_gui/src/ige/extensions/uml/models/Foundation/Core/AttributeModel.cpp N kuml/kuml_gui/src/ige/extensions/uml/models/Foundation/Core/.cvsignore N kuml/kuml_gui/src/ige/extensions/uml/models/ModelManagement/PackageModel.h N kuml/kuml_gui/src/ige/extensions/uml/models/ModelManagement/PackageModel.cpp N kuml/kuml_gui/src/ige/extensions/uml/models/ModelManagement/.cvsignore N kuml/kuml_gui/src/ige/extensions/uml/views/.cvsignore N kuml/kuml_gui/src/ige/extensions/uml/views/BehavioralElements/.cvsignore N kuml/kuml_gui/src/ige/extensions/uml/views/BehavioralElements/UseCases/UseCaseView.h N kuml/kuml_gui/src/ige/extensions/uml/views/BehavioralElements/UseCases/UseCaseView.cpp N kuml/kuml_gui/src/ige/extensions/uml/views/BehavioralElements/UseCases/.cvsignore N kuml/kuml_gui/src/ige/extensions/uml/views/ModelManagement/PackageView.h N kuml/kuml_gui/src/ige/extensions/uml/views/ModelManagement/PackageView.cpp N kuml/kuml_gui/src/ige/extensions/uml/views/ModelManagement/.cvsignore N kuml/kuml_gui/src/ige/extensions/uml/views/Foundation/.cvsignore N kuml/kuml_gui/src/ige/extensions/uml/views/Foundation/Core/ClassLayouter.h N kuml/kuml_gui/src/ige/extensions/uml/views/Foundation/Core/ClassView.h N kuml/kuml_gui/src/ige/extensions/uml/views/Foundation/Core/AssociationView.h N kuml/kuml_gui/src/ige/extensions/uml/views/Foundation/Core/GeneralizationView.h N kuml/kuml_gui/src/ige/extensions/uml/views/Foundation/Core/AttributeView.h N kuml/kuml_gui/src/ige/extensions/uml/views/Foundation/Core/OperationView.h N kuml/kuml_gui/src/ige/extensions/uml/views/Foundation/Core/ClassLayouter.cpp N kuml/kuml_gui/src/ige/extensions/uml/views/Foundation/Core/ClassView.cpp N kuml/kuml_gui/src/ige/extensions/uml/views/Foundation/Core/GeneralizationView.cpp N kuml/kuml_gui/src/ige/extensions/uml/views/Foundation/Core/AttributeView.cpp N kuml/kuml_gui/src/ige/extensions/uml/views/Foundation/Core/AssociationView.cpp N kuml/kuml_gui/src/ige/extensions/uml/views/Foundation/Core/OperationView.cpp N kuml/kuml_gui/src/ige/extensions/uml/views/Foundation/Core/.cvsignore N kuml/kuml_gui/src/ige/extensions/uml/tools/AssociationCreationTool.h N kuml/kuml_gui/src/ige/extensions/uml/tools/ClassCreationTool.h N kuml/kuml_gui/src/ige/extensions/uml/tools/NoteCreationTool.h N kuml/kuml_gui/src/ige/extensions/uml/tools/NoteLinkCreationTool.h N kuml/kuml_gui/src/ige/extensions/uml/tools/GeneralizationCreationTool.h N kuml/kuml_gui/src/ige/extensions/uml/tools/GeneralizationCreationTool.cpp N kuml/kuml_gui/src/ige/extensions/uml/tools/ClassCreationTool.cpp N kuml/kuml_gui/src/ige/extensions/uml/tools/AssociationCreationTool.cpp N kuml/kuml_gui/src/ige/extensions/uml/tools/NoteCreationTool.cpp N kuml/kuml_gui/src/ige/extensions/uml/tools/NoteLinkCreationTool.cpp N kuml/kuml_gui/src/ige/extensions/uml/tools/.cvsignore N kuml/kuml_gui/src/ige/extensions/net/.cvsignore N kuml/kuml_gui/src/ige/extensions/net/commands/NewEdgeCmd.cpp N kuml/kuml_gui/src/ige/extensions/net/commands/NewGraphDocumentCmd.h N kuml/kuml_gui/src/ige/extensions/net/commands/NewGraphDocumentCmd.cpp N kuml/kuml_gui/src/ige/extensions/net/commands/NewEdgeCmd.h N kuml/kuml_gui/src/ige/extensions/net/commands/.cvsignore N kuml/kuml_gui/src/ige/extensions/net/documents/GraphDocument.h N kuml/kuml_gui/src/ige/extensions/net/documents/.cvsignore N kuml/kuml_gui/src/ige/extensions/net/editors/GraphChangeManager.h N kuml/kuml_gui/src/ige/extensions/net/editors/GraphEditor.h N kuml/kuml_gui/src/ige/extensions/net/editors/GraphLayer.h N kuml/kuml_gui/src/ige/extensions/net/editors/GraphLayer.cpp N kuml/kuml_gui/src/ige/extensions/net/editors/GraphEditor.cpp N kuml/kuml_gui/src/ige/extensions/net/editors/GraphChangeManager.cpp N kuml/kuml_gui/src/ige/extensions/net/editors/.cvsignore N kuml/kuml_gui/src/ige/extensions/net/views/Connectable.h N kuml/kuml_gui/src/ige/extensions/net/views/Connector.h N kuml/kuml_gui/src/ige/extensions/net/views/Edge.h N kuml/kuml_gui/src/ige/extensions/net/views/RectVertexView.h N kuml/kuml_gui/src/ige/extensions/net/views/Vertex.h N kuml/kuml_gui/src/ige/extensions/net/views/GraphElement.h N kuml/kuml_gui/src/ige/extensions/net/views/GraphElement.cpp N kuml/kuml_gui/src/ige/extensions/net/views/LineEdgeView.h N kuml/kuml_gui/src/ige/extensions/net/views/.cvsignore N kuml/kuml_gui/src/ige/extensions/net/tools/EdgeCreationTool.h N kuml/kuml_gui/src/ige/extensions/net/tools/EdgeCreationTool.cpp N kuml/kuml_gui/src/ige/extensions/net/tools/.cvsignore N kuml/kuml_gui/src/ige/common/GuiProvider.h N kuml/kuml_gui/src/ige/common/Paintable.h N kuml/kuml_gui/src/ige/common/EventHandler.h N kuml/kuml_gui/src/ige/common/Observer.h N kuml/kuml_gui/src/ige/common/Observable.h N kuml/kuml_gui/src/ige/common/.cvsignore N kuml/kuml_gui/src/ige/common/editors/LayerStack.h N kuml/kuml_gui/src/ige/common/editors/AbstractEditor.h N kuml/kuml_gui/src/ige/common/editors/AbstractLayer.h N kuml/kuml_gui/src/ige/common/editors/StandardSelectionLayer.h N kuml/kuml_gui/src/ige/common/editors/GridLayer.h N kuml/kuml_gui/src/ige/common/editors/BackgroundLayer.h N kuml/kuml_gui/src/ige/common/editors/LayerPlacer.cpp N kuml/kuml_gui/src/ige/common/editors/Scaler.h N kuml/kuml_gui/src/ige/common/editors/Editor.h N kuml/kuml_gui/src/ige/common/editors/Layer.h N kuml/kuml_gui/src/ige/common/editors/ChangeManager.h N kuml/kuml_gui/src/ige/common/editors/DefaultChangeManager.h N kuml/kuml_gui/src/ige/common/editors/DoubleBufferViewer.h N kuml/kuml_gui/src/ige/common/editors/Viewer.h N kuml/kuml_gui/src/ige/common/editors/AbstractViewer.h N kuml/kuml_gui/src/ige/common/editors/StandardEditor.h N kuml/kuml_gui/src/ige/common/editors/Selection.h N kuml/kuml_gui/src/ige/common/editors/DataLayer.h N kuml/kuml_gui/src/ige/common/editors/ManipulationLayer.h N kuml/kuml_gui/src/ige/common/editors/StandardDataLayer.h N kuml/kuml_gui/src/ige/common/editors/SelectionLayer.h N kuml/kuml_gui/src/ige/common/editors/AbstractLayer.cpp N kuml/kuml_gui/src/ige/common/editors/AbstractEditor.cpp N kuml/kuml_gui/src/ige/common/editors/Scaler.cpp N kuml/kuml_gui/src/ige/common/editors/AbstractViewer.cpp N kuml/kuml_gui/src/ige/common/editors/DoubleBufferViewer.cpp N kuml/kuml_gui/src/ige/common/editors/StandardSelectionLayer.cpp N kuml/kuml_gui/src/ige/common/editors/StandardEditor.cpp N kuml/kuml_gui/src/ige/common/editors/StandardDataLayer.cpp N kuml/kuml_gui/src/ige/common/editors/StandardManipulationLayer.cpp N kuml/kuml_gui/src/ige/common/editors/ManipulationLayer.cpp N kuml/kuml_gui/src/ige/common/editors/DataLayer.cpp N kuml/kuml_gui/src/ige/common/editors/GridLayer.cpp N kuml/kuml_gui/src/ige/common/editors/BackgroundLayer.cpp N kuml/kuml_gui/src/ige/common/editors/StandardManipulationLayer.h N kuml/kuml_gui/src/ige/common/editors/DefaultChangeManager.cpp N kuml/kuml_gui/src/ige/common/editors/SelectionLayer.cpp N kuml/kuml_gui/src/ige/common/editors/LayerStack.cpp N kuml/kuml_gui/src/ige/common/editors/LayerPlacer.h N kuml/kuml_gui/src/ige/common/editors/LayerNode.h N kuml/kuml_gui/src/ige/common/editors/LayerVisitor.h N kuml/kuml_gui/src/ige/common/editors/LayerVisitorAdapter.h N kuml/kuml_gui/src/ige/common/editors/LayerChecker.cpp N kuml/kuml_gui/src/ige/common/editors/LayerChecker.h N kuml/kuml_gui/src/ige/common/editors/.cvsignore N kuml/kuml_gui/src/ige/common/tools/CreationTool.h N kuml/kuml_gui/src/ige/common/tools/SelectionTool.h N kuml/kuml_gui/src/ige/common/tools/Tool.h N kuml/kuml_gui/src/ige/common/tools/BoxCreationTool.h N kuml/kuml_gui/src/ige/common/tools/AbstractTool.h N kuml/kuml_gui/src/ige/common/tools/OneClickCreationTool.h N kuml/kuml_gui/src/ige/common/tools/AbstractTool.cpp N kuml/kuml_gui/src/ige/common/tools/SelectionTool.cpp N kuml/kuml_gui/src/ige/common/tools/TwoClickCreationTool.h N kuml/kuml_gui/src/ige/common/tools/TextCreationTool.cpp N kuml/kuml_gui/src/ige/common/tools/BoxCreationTool.cpp N kuml/kuml_gui/src/ige/common/tools/TextCreationTool.h N kuml/kuml_gui/src/ige/common/tools/CreationTool.cpp N kuml/kuml_gui/src/ige/common/tools/.cvsignore N kuml/kuml_gui/src/ige/common/commands/MoveCmd.h N kuml/kuml_gui/src/ige/common/commands/EditorCommand.h N kuml/kuml_gui/src/ige/common/commands/MoveCmd.cpp N kuml/kuml_gui/src/ige/common/commands/CommandHistory.cpp N kuml/kuml_gui/src/ige/common/commands/CommandHistory.h N kuml/kuml_gui/src/ige/common/commands/CutCmd.h N kuml/kuml_gui/src/ige/common/commands/NewTextCmd.cpp N kuml/kuml_gui/src/ige/common/commands/NewStdDocumentCmd.cpp N kuml/kuml_gui/src/ige/common/commands/NewStdDocumentCmd.h N kuml/kuml_gui/src/ige/common/commands/NewDocumentCmd.h N kuml/kuml_gui/src/ige/common/commands/NewDocumentCmd.cpp N kuml/kuml_gui/src/ige/common/commands/AbstractCommand.h N kuml/kuml_gui/src/ige/common/commands/AbstractCommand.cpp N kuml/kuml_gui/src/ige/common/commands/CopyCmd.h N kuml/kuml_gui/src/ige/common/commands/PasteCmd.h N kuml/kuml_gui/src/ige/common/commands/CopyCmd.cpp N kuml/kuml_gui/src/ige/common/commands/CutCmd.cpp N kuml/kuml_gui/src/ige/common/commands/PasteCmd.cpp N kuml/kuml_gui/src/ige/common/commands/NewViewCmd.cpp N kuml/kuml_gui/src/ige/common/commands/NewTextCmd.h N kuml/kuml_gui/src/ige/common/commands/NewViewCmd.h N kuml/kuml_gui/src/ige/common/commands/.cvsignore N kuml/kuml_gui/src/ige/common/manipulators/RectangleViewResizer.h N kuml/kuml_gui/src/ige/common/manipulators/ViewManipulator.h N kuml/kuml_gui/src/ige/common/manipulators/ViewSelector.h N kuml/kuml_gui/src/ige/common/manipulators/AbstractViewManipulator.h N kuml/kuml_gui/src/ige/common/manipulators/ViewResizer.h N kuml/kuml_gui/src/ige/common/manipulators/AbstractViewManipulator.cpp N kuml/kuml_gui/src/ige/common/manipulators/RectangleViewResizer.cpp N kuml/kuml_gui/src/ige/common/manipulators/.cvsignore N kuml/kuml_gui/src/ige/common/documents/AbstractDocument.cpp N kuml/kuml_gui/src/ige/common/documents/Document.h N kuml/kuml_gui/src/ige/common/documents/StandardDocumentModel.h N kuml/kuml_gui/src/ige/common/documents/DocumentModel.h N kuml/kuml_gui/src/ige/common/documents/StandardDocument.cpp N kuml/kuml_gui/src/ige/common/documents/StandardDocumentModel.cpp N kuml/kuml_gui/src/ige/common/documents/AbstractDocument.h N kuml/kuml_gui/src/ige/common/documents/StandardDocument.h N kuml/kuml_gui/src/ige/common/documents/.cvsignore N kuml/kuml_gui/src/ige/common/models/TextModel.h N kuml/kuml_gui/src/ige/common/models/AbstractModel.h N kuml/kuml_gui/src/ige/common/models/Model.h N kuml/kuml_gui/src/ige/common/models/AbstractModel.cpp N kuml/kuml_gui/src/ige/common/models/TextModel.cpp N kuml/kuml_gui/src/ige/common/models/.cvsignore N kuml/kuml_gui/src/ige/common/views/AbstractView.h N kuml/kuml_gui/src/ige/common/views/ArrowDecoration.h N kuml/kuml_gui/src/ige/common/views/CircleView.h N kuml/kuml_gui/src/ige/common/views/Clonable.h N kuml/kuml_gui/src/ige/common/views/DefaultViewLayouter.h N kuml/kuml_gui/src/ige/common/views/LineDecoration.h N kuml/kuml_gui/src/ige/common/views/LineView.h N kuml/kuml_gui/src/ige/common/views/PaintAttributes.h N kuml/kuml_gui/src/ige/common/views/PolygonView.h N kuml/kuml_gui/src/ige/common/views/Positionable.h N kuml/kuml_gui/src/ige/common/views/RectangleView.h N kuml/kuml_gui/src/ige/common/views/Selectable.h N kuml/kuml_gui/src/ige/common/views/SelectableView.h N kuml/kuml_gui/src/ige/common/views/SelectionHandle.h N kuml/kuml_gui/src/ige/common/views/TextView.h N kuml/kuml_gui/src/ige/common/views/View.h N kuml/kuml_gui/src/ige/common/views/ViewFactory.h N kuml/kuml_gui/src/ige/common/views/ViewLayouter.h N kuml/kuml_gui/src/ige/common/views/AbstractView.cpp N kuml/kuml_gui/src/ige/common/views/PaintAttributes.cpp N kuml/kuml_gui/src/ige/common/views/SelectionHandle.cpp N kuml/kuml_gui/src/ige/common/views/ViewFactory.cpp N kuml/kuml_gui/src/ige/common/views/DefaultViewLayouter.cpp N kuml/kuml_gui/src/ige/common/views/SelectableView.cpp N kuml/kuml_gui/src/ige/common/views/RectangleView.cpp N kuml/kuml_gui/src/ige/common/views/TextView.cpp N kuml/kuml_gui/src/ige/common/views/LineView.cpp N kuml/kuml_gui/src/ige/common/views/Line.h N kuml/kuml_gui/src/ige/common/views/ViewDecorator.h N kuml/kuml_gui/src/ige/common/views/Layoutable.h N kuml/kuml_gui/src/ige/common/views/ManipulatorHandle.h N kuml/kuml_gui/src/ige/common/views/Rectangle.h N kuml/kuml_gui/src/ige/common/views/.cvsignore No conflicts created by this import ***** Bogus filespec: - ***** Bogus filespec: Imported ***** Bogus filespec: sources |
From: Darius S. <dst...@us...> - 2001-06-20 19:16:59
|
Update of /cvsroot/kuml/kuml/kuml_gui/src In directory usw-pr-cvs1:/tmp/cvs-serv1324/src Log Message: Directory /cvsroot/kuml/kuml/kuml_gui/src added to the repository |
From: Gerard F. <ger...@us...> - 2001-06-20 03:35:53
|
Update of /cvsroot/kuml/CVSROOT In directory usw-pr-cvs1:/tmp/cvs-serv30478 Modified Files: syncmail Log Message: Reduced number of lines sent from diffs of checkins from 1000 to 500. VS: Committing in . VS: VS: Modified Files: VS: syncmail VS: ---------------------------------------------------------------------- Index: syncmail =================================================================== RCS file: /cvsroot/kuml/CVSROOT/syncmail,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** syncmail 2000/10/14 04:10:39 1.1 --- syncmail 2001/06/20 03:35:50 1.2 *************** *** 65,69 **** DIFF_HEAD_LINES = 20 DIFF_TAIL_LINES = 20 ! DIFF_TRUNCATE_IF_LARGER = 1000 --- 65,69 ---- DIFF_HEAD_LINES = 20 DIFF_TAIL_LINES = 20 ! DIFF_TRUNCATE_IF_LARGER = 500 |
From: Chris M. <zm...@us...> - 2001-06-18 22:57:30
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools In directory usw-pr-cvs1:/tmp/cvs-serv15005/tools Modified Files: common_code.xsl gen_class_ccs.xsl gen_class_hs.xsl gen_proxy_hs.xsl Log Message: Zounds! Something compiled! But not much... Index: common_code.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/common_code.xsl,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** common_code.xsl 2001/05/29 22:32:06 1.4 --- common_code.xsl 2001/06/18 22:57:27 1.5 *************** *** 156,159 **** --- 156,258 ---- + <!-- 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> + + + <xsl:template name="get_name"> + <xsl:param name="the_xmi_id"/> + <xsl:param name="the_name"/> + + <xsl:variable name="other_name"> + <xsl:apply-templates mode="mangle-name" + select='/descendant::Model:Tag[attribute::tagId="org.omg.mof.idl_substitute_name"]'> + <xsl:with-param name="the_xmi_id"> + <xsl:value-of select="$the_xmi_id"/> + </xsl:with-param> + </xsl:apply-templates> + </xsl:variable> + + <xsl:choose> + <!-- boolean($other_name) doesn't seem to work here. --> + <xsl:when test="string-length($other_name) = 0"> + <xsl:value-of select="$the_name"/> + </xsl:when> + <xsl:otherwise> + <xsl:value-of select='substring-after($other_name,"=")'/> + </xsl:otherwise> + </xsl:choose> + + </xsl:template> + + + <!-- Templates for generating a collection name + from the structural features. --> + + + <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> + + </xsl:choose> + + </xsl:if> + + </xsl:template> + + + <!-- Templates for finding CORBA IDL type implementations. --> <!-- These use the type_name mode and setup the CORBA_type variable. --> *************** *** 180,183 **** --- 279,312 ---- <xsl:text>DataTypes::</xsl:text> <xsl:value-of select="@xmi.tcName"/> + </xsl:template> + + + <xsl:template match="Model:Class" mode="type_name"> + + <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="class_name"> + <xsl:call-template name="get_name"> + <xsl:with-param name="the_xmi_id"> + <xsl:value-of select="@xmi.id"/> + </xsl:with-param> + <xsl:with-param name="the_name"> + <xsl:value-of select="@name"/> + </xsl:with-param> + </xsl:call-template> + </xsl:variable> + + <xsl:value-of select="$package_name"/> + <xsl:text>::</xsl:text> + <xsl:value-of select="$class_name"/> + <xsl:text>_ptr</xsl:text> + </xsl:template> Index: gen_class_ccs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_class_ccs.xsl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** gen_class_ccs.xsl 2001/05/16 22:21:39 1.2 --- gen_class_ccs.xsl 2001/06/18 22:57:27 1.3 *************** *** 15,19 **** <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> ! <xsl:variable name="class_name" select="@name"/> <xsl:variable name="processed_class_name"> <xsl:call-template name="to_name"> --- 15,29 ---- <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> ! <xsl:variable name="class_name"> ! <xsl:call-template name="get_name"> ! <xsl:with-param name="the_xmi_id"> ! <xsl:value-of select="@xmi.id"/> ! </xsl:with-param> ! <xsl:with-param name="the_name"> ! <xsl:value-of select="@name"/> ! </xsl:with-param> ! </xsl:call-template> ! </xsl:variable> ! <xsl:variable name="processed_class_name"> <xsl:call-template name="to_name"> *************** *** 63,80 **** <xsl:text>::_duplicate(_this())); </xsl:text> - <xsl:if test='@isAbstract = "false"'> - - <xsl:text> fc_all_of_class_</xsl:text> - <xsl:value-of select="$processed_class_name"/> - <xsl:text>.push_back( </xsl:text> - - <xsl:text> </xsl:text> - <xsl:value-of select="$package_name"/> - <xsl:text>::</xsl:text> - <xsl:value-of select="$class_name"/> - <xsl:text>::_duplicate(_this())); </xsl:text> - - </xsl:if> - <xsl:text>}; </xsl:text> --- 73,76 ---- *************** *** 113,117 **** <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> ! <xsl:variable name="class_name" select="ancestor::Model:Class/@name"/> <xsl:variable name="attribute" select="@name"/> --- 109,123 ---- <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> ! ! <xsl:variable name="class_name"> ! <xsl:call-template name="get_name"> ! <xsl:with-param name="the_xmi_id"> ! <xsl:value-of select="ancestor::Model:Class/@xmi.id"/> ! </xsl:with-param> ! <xsl:with-param name="the_name"> ! <xsl:value-of select="ancestor::Model:Class/@name"/> ! </xsl:with-param> ! </xsl:call-template> ! </xsl:variable> <xsl:variable name="attribute" select="@name"/> *************** *** 134,140 **** --> <xsl:variable name="CORBA_type"> ! <xsl:apply-templates ! select='/descendant::Model:DataType[attribute::xmi.id=$type_ref]/Model:DataType.typeCode' ! mode="type_name"/> </xsl:variable> --- 140,144 ---- --> <xsl:variable name="CORBA_type"> ! <xsl:apply-templates select='/descendant::*[@xmi.id=$type_ref]' mode="type_name"/> </xsl:variable> *************** *** 165,169 **** <xsl:text>() </xsl:text> ! <xsl:text> throw </xsl:text> <xsl:text> ::CORBA::SystemException, </xsl:text> <xsl:text> ::Reflective::NotSet, </xsl:text> --- 169,173 ---- <xsl:text>() </xsl:text> ! <xsl:text> throw( </xsl:text> <xsl:text> ::CORBA::SystemException, </xsl:text> <xsl:text> ::Reflective::NotSet, </xsl:text> *************** *** 260,264 **** <xsl:text>void </xsl:text> <xsl:value-of select="$class_name"/> ! <xsl:text>::set_</xsl:text> <xsl:value-of select="$attr_name"/> <xsl:text>( const </xsl:text> --- 264,268 ---- <xsl:text>void </xsl:text> <xsl:value-of select="$class_name"/> ! <xsl:text>_impl::set_</xsl:text> <xsl:value-of select="$attr_name"/> <xsl:text>( const </xsl:text> *************** *** 367,371 **** <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> ! <xsl:variable name="class_name" select="ancestor::Model:Class/@name"/> <xsl:variable name="ref_name"> --- 371,385 ---- <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> ! ! <xsl:variable name="class_name"> ! <xsl:call-template name="get_name"> ! <xsl:with-param name="the_xmi_id"> ! <xsl:value-of select="ancestor::Model:Class/@xmi.id"/> ! </xsl:with-param> ! <xsl:with-param name="the_name"> ! <xsl:value-of select="ancestor::Model:Class/@name"/> ! </xsl:with-param> ! </xsl:call-template> ! </xsl:variable> <xsl:variable name="ref_name"> *************** *** 698,702 **** <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> ! <xsl:variable name="class_name" select="@name"/> <xsl:variable name="filename"> <xsl:text>../</xsl:text> --- 712,727 ---- <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> ! ! <xsl:variable name="class_name"> ! <xsl:call-template name="get_name"> ! <xsl:with-param name="the_xmi_id"> ! <xsl:value-of select="@xmi.id"/> ! </xsl:with-param> ! <xsl:with-param name="the_name"> ! <xsl:value-of select="@name"/> ! </xsl:with-param> ! </xsl:call-template> ! </xsl:variable> ! <xsl:variable name="filename"> <xsl:text>../</xsl:text> Index: gen_class_hs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_class_hs.xsl,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** gen_class_hs.xsl 2001/05/28 22:35:35 1.3 --- gen_class_hs.xsl 2001/06/18 22:57:27 1.4 *************** *** 122,130 **** <xsl:template name="CLASS_INSTANCE"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> - <xsl:variable name="class_name" select="@name"/> <xsl:text>#ifndef __</xsl:text> <xsl:call-template name="to_upper"> --- 122,233 ---- + <!-- Templates to do private variables. + These templates all use the private_var mode. + --> + + + <!-- Replace the default rule. --> + <xsl:template match="*" mode="private_var"/> + + + <!-- Certain nodes do nothing. --> + <xsl:template mode="private_var" match="Model:Namespace.contents"> + <xsl:apply-templates mode="private_var"/> + </xsl:template> + + + <xsl:template match="Model:Attribute" mode="private_var"> + + <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> + + <xsl:variable name="class_name"> + <xsl:call-template name="get_name"> + <xsl:with-param name="the_xmi_id"> + <xsl:value-of select="ancestor::Model:Class/@xmi.id"/> + </xsl:with-param> + <xsl:with-param name="the_name"> + <xsl:value-of select="ancestor::Model:Class/@name"/> + </xsl:with-param> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="attribute"> + <xsl:call-template name="get_name"> + <xsl:with-param name="the_xmi_id"> + <xsl:value-of select="@xmi.id"/> + </xsl:with-param> + <xsl:with-param name="the_name"> + <xsl:value-of select="@name"/> + </xsl:with-param> + </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:variable name="type_ref" select="@type"/> + <xsl:variable name="is_changeable" select="@isChangeable"/> + + <!-- 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"> + <xsl:apply-templates select='/descendant::*[@xmi.id=$type_ref]' mode="type_name"/> + </xsl:variable> + + <xsl:variable name="is_const" + select='substring($CORBA_type, string-length($CORBA_type), 1) = "*"'/> + + <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: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:if test='$lower=0 and $upper=1' --> + + <!--<AttributeType> <attribute_name> () + raises (Reflective::NotSet, Reflective::MofError); + --> + + <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> + + + + + + <xsl:template name="CLASS_INSTANCE"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> + <xsl:variable name="class_name"> + <xsl:call-template name="get_name"> + <xsl:with-param name="the_xmi_id"> + <xsl:value-of select="@xmi.id"/> + </xsl:with-param> + <xsl:with-param name="the_name"> + <xsl:value-of select="@name"/> + </xsl:with-param> + </xsl:call-template> + </xsl:variable> + <xsl:text>#ifndef __</xsl:text> <xsl:call-template name="to_upper"> *************** *** 199,202 **** --- 302,311 ---- <xsl:text> </xsl:text> + <xsl:text> private: </xsl:text> + + <xsl:text> </xsl:text> + + <xsl:apply-templates mode="private_var"/> + <xsl:text>}; </xsl:text> *************** *** 211,217 **** <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> - <xsl:variable name="class_name" select="ancestor::Model:Class/@name"/> ! <xsl:variable name="attribute" select="@name"/> <xsl:variable name="attr_name"> <xsl:call-template name="to_name"> --- 320,346 ---- <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> ! <xsl:variable name="class_name"> ! <xsl:call-template name="get_name"> ! <xsl:with-param name="the_xmi_id"> ! <xsl:value-of select="ancestor::Model:Class/@xmi.id"/> ! </xsl:with-param> ! <xsl:with-param name="the_name"> ! <xsl:value-of select="ancestor::Model:Class/@name"/> ! </xsl:with-param> ! </xsl:call-template> ! </xsl:variable> ! ! <xsl:variable name="attribute"> ! <xsl:call-template name="get_name"> ! <xsl:with-param name="the_xmi_id"> ! <xsl:value-of select="@xmi.id"/> ! </xsl:with-param> ! <xsl:with-param name="the_name"> ! <xsl:value-of select="@name"/> ! </xsl:with-param> ! </xsl:call-template> ! </xsl:variable> ! <xsl:variable name="attr_name"> <xsl:call-template name="to_name"> *************** *** 232,238 **** --> <xsl:variable name="CORBA_type"> ! <xsl:apply-templates ! select='/descendant::Model:DataType[attribute::xmi.id=$type_ref]/Model:DataType.typeCode' ! mode="type_name"/> </xsl:variable> --- 361,365 ---- --> <xsl:variable name="CORBA_type"> ! <xsl:apply-templates select='/descendant::*[@xmi.id=$type_ref]' mode="type_name"/> </xsl:variable> *************** *** 259,262 **** --- 386,390 ---- <xsl:text> </xsl:text> + <xsl:value-of select="$attr_name"/> <xsl:text>() </xsl:text> *************** *** 552,561 **** <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> - <xsl:variable name="class_name" select="ancestor::Model:Class/@name"/> <xsl:variable name="ref_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> ! <xsl:value-of select="@name"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> --- 680,710 ---- <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> + <xsl:variable name="class_name"> + <xsl:call-template name="get_name"> + <xsl:with-param name="the_xmi_id"> + <xsl:value-of select="ancestor::Model:Class/@xmi.id"/> + </xsl:with-param> + <xsl:with-param name="the_name"> + <xsl:value-of select="ancestor::Model:Class/@name"/> + </xsl:with-param> + </xsl:call-template> + </xsl:variable> + + <xsl:variable name="reference"> + <xsl:call-template name="get_name"> + <xsl:with-param name="the_xmi_id"> + <xsl:value-of select="@xmi.id"/> + </xsl:with-param> + <xsl:with-param name="the_name"> + <xsl:value-of select="@name"/> + </xsl:with-param> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="ref_name"> <xsl:call-template name="to_name"> <xsl:with-param name="text"> ! <xsl:value-of select="$reference"/> </xsl:with-param> <xsl:with-param name="position" select="1"/> *************** *** 564,569 **** <xsl:variable name="type_ref" select="@type"/> ! <xsl:variable name="type_name" ! select='/descendant::Model:Class[@xmi.id=$type_ref]/@name'/> <xsl:variable name="is_changeable" select="@isChangeable"/> --- 713,728 ---- <xsl:variable name="type_ref" select="@type"/> ! <xsl:variable name="type_name"> ! <xsl:call-template name="get_name"> ! <xsl:with-param name="the_xmi_id"> ! <xsl:value-of ! select='/descendant::Model:Class[@xmi.id=$type_ref]/@xmi.id'/> ! </xsl:with-param> ! <xsl:with-param name="the_name"> ! <xsl:value-of ! select='/descendant::Model:Class[@xmi.id=$type_ref]/@name'/> ! </xsl:with-param> ! </xsl:call-template> ! </xsl:variable> <xsl:variable name="is_changeable" select="@isChangeable"/> *************** *** 614,617 **** --- 773,782 ---- <xsl:value-of select="$type_name"/> <xsl:text>_ptr </xsl:text> + + <!-- Hack!! Deal with C++ reserved words (ahem) --> + <xsl:if test='$ref_name = "namespace"'> + <xsl:text>_cxx_</xsl:text> + </xsl:if> + <xsl:value-of select="$ref_name"/> <xsl:text>() </xsl:text> *************** *** 825,829 **** <xsl:text> ::CORBA::SystemException, </xsl:text> ! <xsl:text> ::Reflective:NotFound, </xsl:text> <xsl:text> ::Reflective::MofError) </xsl:text> <xsl:text> ; </xsl:text> --- 990,994 ---- <xsl:text> ::CORBA::SystemException, </xsl:text> ! <xsl:text> ::Reflective::NotFound, </xsl:text> <xsl:text> ::Reflective::MofError) </xsl:text> <xsl:text> ; </xsl:text> *************** *** 887,892 **** <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> - <xsl:variable name="class_name" select="@name"/> <xsl:variable name="class_filename"> <xsl:text>../</xsl:text> --- 1052,1067 ---- <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> + <xsl:variable name="class_name"> + <xsl:call-template name="get_name"> + <xsl:with-param name="the_xmi_id"> + <xsl:value-of select="@xmi.id"/> + </xsl:with-param> + <xsl:with-param name="the_name"> + <xsl:value-of select="@name"/> + </xsl:with-param> + </xsl:call-template> + </xsl:variable> + <xsl:variable name="class_filename"> <xsl:text>../</xsl:text> *************** *** 905,914 **** <xsl:template match="Model:Attribute"> ! <xsl:call-template name="ATTRIBUTE"/> </xsl:template> <xsl:template match="Model:Reference"> ! <xsl:call-template name="REFERENCE"/> </xsl:template> --- 1080,1093 ---- <xsl:template match="Model:Attribute"> ! <xsl:if test='@scope="instance_level" and @visibility="public_vis"'> ! <xsl:call-template name="ATTRIBUTE"/> ! </xsl:if> </xsl:template> <xsl:template match="Model:Reference"> ! <xsl:if test='@visibility="public_vis"'> ! <xsl:call-template name="REFERENCE"/> ! </xsl:if> </xsl:template> Index: gen_proxy_hs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_proxy_hs.xsl,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -r1.7 -r1.8 *** gen_proxy_hs.xsl 2001/05/29 22:32:06 1.7 --- gen_proxy_hs.xsl 2001/06/18 22:57:27 1.8 *************** *** 122,126 **** ! <!-- Templates to do parameters to the create_<class> method. These templates all use the create_params mode. --> --- 122,242 ---- ! <!-- Templates for finding CORBA IDL type implementations. --> ! <!-- These use the type_name mode and setup the CORBA_type variable. --> ! ! ! <xsl:template ! match="Model:DataType | Model:DataType.typeCode | XMI.CorbaTcAlias | XMI.CorbaTypeCode" ! mode="create_param_type_name"> ! <xsl:param name="collection"/> ! ! <xsl:apply-templates mode="create_param_type_name"> ! <xsl:with-param name="collection"> ! <xsl:value-of select="$collection"/> ! </xsl:with-param> ! </xsl:apply-templates> ! ! </xsl:template> ! ! ! <xsl:template match="XMI.CorbaTcBoolean" mode="create_param_type_name"> ! <xsl:param name="collection"/> ! <xsl:text>CORBA::Boolean</xsl:text> ! </xsl:template> ! ! ! <xsl:template match="XMI.CorbaTcString" mode="create_param_type_name"> ! <xsl:param name="collection"/> ! ! <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="type_name" select="ancestor::Model:DataType/@name"/> ! ! <xsl:choose> ! <xsl:when test='not(string-length($collection) = 0)'> ! <xsl:text>const Core</xsl:text> ! </xsl:when> ! <xsl:otherwise> ! <xsl:value-of select="$package_name"/> ! </xsl:otherwise> ! </xsl:choose> ! ! <xsl:text>::</xsl:text> ! <xsl:value-of select="$type_name"/> ! <xsl:value-of select="$collection"/> ! ! </xsl:template> ! ! ! <xsl:template match="XMI.CorbaTcEnum" mode="create_param_type_name"> ! <xsl:param name="collection"/> ! ! <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:choose> ! <xsl:when test='not(string-length($collection) = 0)'> ! <xsl:text>const Core</xsl:text> ! </xsl:when> ! <xsl:otherwise> ! <xsl:value-of select="$package_name"/> ! </xsl:otherwise> ! </xsl:choose> ! ! <xsl:text>::</xsl:text> ! <xsl:value-of select="@xmi.tcName"/> ! <xsl:value-of select="$collection"/> ! ! </xsl:template> ! ! ! <xsl:template match="Model:Class" mode="create_param_type_name"> ! <xsl:param name="collection"/> ! ! <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> ! ! <xsl:variable name="class_name"> ! <xsl:call-template name="get_name"> ! <xsl:with-param name="the_xmi_id"> ! <xsl:value-of select="@xmi.id"/> ! </xsl:with-param> ! <xsl:with-param name="the_name"> ! <xsl:value-of select="@name"/> ! </xsl:with-param> ! </xsl:call-template> ! </xsl:variable> ! ! <xsl:choose> ! <xsl:when test='not(string-length($collection) = 0)'> ! <xsl:text>const Core</xsl:text> ! </xsl:when> ! <xsl:otherwise> ! <xsl:value-of select="$package_name"/> ! </xsl:otherwise> ! </xsl:choose> ! ! <xsl:text>::</xsl:text> ! ! <xsl:value-of select="$class_name"/> ! ! <xsl:value-of select="$collection"/> ! ! </xsl:template> ! ! ! <!-- Templates to do parameters to the create_<class> methods parameters. These templates all use the create_params mode. --> *************** *** 146,154 **** </xsl:if> <xsl:variable name="type_ref" select="@type"/> <xsl:apply-templates ! select='/descendant::Model:DataType[attribute::xmi.id=$type_ref]/Model:DataType.typeCode' ! mode="type_name"/> <xsl:text> </xsl:text> <xsl:call-template name="to_name"> <xsl:with-param name="text"> --- 262,280 ---- </xsl:if> + <xsl:variable name="collection"> + <xsl:call-template name="collection_name"/> + </xsl:variable> + <xsl:variable name="type_ref" select="@type"/> <xsl:apply-templates ! select='/descendant::*[attribute::xmi.id=$type_ref]' ! mode="create_param_type_name"> ! <xsl:with-param name="collection"> ! <xsl:value-of select="$collection"/> ! </xsl:with-param> ! </xsl:apply-templates> ! <xsl:text> </xsl:text> + <xsl:call-template name="to_name"> <xsl:with-param name="text"> *************** *** 157,160 **** --- 283,287 ---- <xsl:with-param name="position" select="1"/> </xsl:call-template> + </xsl:template> *************** *** 192,196 **** <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> ! <xsl:variable name="class_name" select="@name"/> <xsl:variable name="processed_cn"> --- 319,333 ---- <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> ! ! <xsl:variable name="class_name"> ! <xsl:call-template name="get_name"> ! <xsl:with-param name="the_xmi_id"> ! <xsl:value-of select="@xmi.id"/> ! </xsl:with-param> ! <xsl:with-param name="the_name"> ! <xsl:value-of select="@name"/> ! </xsl:with-param> ! </xsl:call-template> ! </xsl:variable> <xsl:variable name="processed_cn"> *************** *** 324,331 **** <xsl:if test='@isAbstract = "false"'> - <xsl:text> private: </xsl:text> - - <xsl:text> </xsl:text> - <xsl:text> static list<</xsl:text> <xsl:value-of select="$package_name"/> --- 461,464 ---- *************** *** 374,378 **** <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> ! <xsl:variable name="class_name" select="@name"/> <xsl:variable name="proxy_filename"> --- 507,521 ---- <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> ! ! <xsl:variable name="class_name"> ! <xsl:call-template name="get_name"> ! <xsl:with-param name="the_xmi_id"> ! <xsl:value-of select="@xmi.id"/> ! </xsl:with-param> ! <xsl:with-param name="the_name"> ! <xsl:value-of select="@name"/> ! </xsl:with-param> ! </xsl:call-template> ! </xsl:variable> <xsl:variable name="proxy_filename"> |
From: Chris M. <zm...@us...> - 2001-06-18 22:57:30
|
Update of /cvsroot/kuml/kuml/libkuml/uml/idl-1.4 In directory usw-pr-cvs1:/tmp/cvs-serv15005/idl-1.4 Modified Files: 01-02-15.xml Log Message: Zounds! Something compiled! But not much... Index: 01-02-15.xml =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/idl-1.4/01-02-15.xml,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** 01-02-15.xml 2001/05/16 22:01:49 1.1 --- 01-02-15.xml 2001/06/18 22:57:27 1.2 *************** *** 1,4 **** <?xml version="1.0" encoding="UTF-8" ?> ! <!-- <!DOCTYPE XMI SYSTEM 'Model.dtd'> --> <XMI xmi.version='1.1' xmlns:Model='omg.org/mof.Model/1.3'> <XMI.header> --- 1,4 ---- <?xml version="1.0" encoding="UTF-8" ?> ! <!DOCTYPE XMI SYSTEM 'Model.dtd'> <XMI xmi.version='1.1' xmlns:Model='omg.org/mof.Model/1.3'> <XMI.header> |
From: Lorenzo D. <ld...@li...> - 2001-06-15 03:19:46
|
what's about... Hi, I had opened a project (eumltool.sourceforge.net) times ago... but, I would to join some open projects instead of starting from scratch. What you think about an OCL Compiler ? the UML 1.3 Specs are filled of this OCL to improve the correctness of the specifications limiting the ambiguities... should not be a good idea to implements an OCL compiler (like sablecc, but for C++) that can transform an OCL expression into a contraints object that can be evaluated on the fly ? I suppose, there are two main way to do this: 1) develop an ocl compiler compiler that generate C++ code that insert onto kUMLlib, for each _impl member that have some contraints. 2) (more desiderable) to have an OCL Class that have interconnection with the UML metamodel through Reflective module; based on it the OCL Class know all classes and can evaluate the contraints when y want.... For example, can be evaluated at run-time when the metaclass is used, so if the contraint fails an error like "internal lib error occurred" is showed. Another point on favor for the OCL Class system is that y can use the OCL from the kUML when it run. bye Lore PS. if the kUML developers wants to do something in this way I can support with my C/C++ experience and Software Engineering knowledge, but y don't surprise if my background isn't well enstablished with a rigour formalism.:) My other interests are: - CORBA programming (with MICO) - GUI development (with QT/KDE) - XMI and metamodel interchange |
From: Chris M. <zm...@us...> - 2001-05-29 22:32:08
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools In directory usw-pr-cvs1:/tmp/cvs-serv14241 Modified Files: common_code.xsl gen_proxy_hs.xsl Log Message: Upped space for allocating objects again. Small mod to common_code.xsl. Index: common_code.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/common_code.xsl,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** common_code.xsl 2001/05/28 22:35:35 1.3 --- common_code.xsl 2001/05/29 22:32:06 1.4 *************** *** 178,182 **** <xsl:template match="XMI.CorbaTcEnum" mode="type_name"> ! <xsl:text>DataType::</xsl:text> <xsl:value-of select="@xmi.tcName"/> </xsl:template> --- 178,182 ---- <xsl:template match="XMI.CorbaTcEnum" mode="type_name"> ! <xsl:text>DataTypes::</xsl:text> <xsl:value-of select="@xmi.tcName"/> </xsl:template> Index: gen_proxy_hs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_proxy_hs.xsl,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -r1.6 -r1.7 *** gen_proxy_hs.xsl 2001/05/28 22:35:35 1.6 --- gen_proxy_hs.xsl 2001/05/29 22:32:06 1.7 *************** *** 265,271 **** <xsl:text>::</xsl:text> <xsl:value-of select="$class_name"/> ! <xsl:text>ClassSet* all_of_type_</xsl:text> <xsl:value-of select="$processed_cn"/> ! <xsl:text>() </xsl:text> <xsl:if test='@isAbstract = "false"'> --- 265,271 ---- <xsl:text>::</xsl:text> <xsl:value-of select="$class_name"/> ! <xsl:text>Set* all_of_type_</xsl:text> <xsl:value-of select="$processed_cn"/> ! <xsl:text>(); </xsl:text> <xsl:if test='@isAbstract = "false"'> *************** *** 275,281 **** <xsl:text>::</xsl:text> <xsl:value-of select="$class_name"/> ! <xsl:text>ClassSet* all_of_class_</xsl:text> <xsl:value-of select="$processed_cn"/> ! <xsl:text>() </xsl:text> </xsl:if> --- 275,281 ---- <xsl:text>::</xsl:text> <xsl:value-of select="$class_name"/> ! <xsl:text>Set* all_of_class_</xsl:text> <xsl:value-of select="$processed_cn"/> ! <xsl:text>(); </xsl:text> </xsl:if> |
From: Chris M. <zm...@us...> - 2001-05-28 22:35:38
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools In directory usw-pr-cvs1:/tmp/cvs-serv9727 Modified Files: common_code.xsl gen_class_hs.xsl gen_proxy_hs.xsl Log Message: Deal with multiple inheritance uniformly. Index: common_code.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/common_code.xsl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** common_code.xsl 2001/05/22 23:00:40 1.2 --- common_code.xsl 2001/05/28 22:35:35 1.3 *************** *** 157,161 **** <!-- Templates for finding CORBA IDL type implementations. --> ! <!-- These setup the CORBA_type variable. --> --- 157,161 ---- <!-- Templates for finding CORBA IDL type implementations. --> ! <!-- These use the type_name mode and setup the CORBA_type variable. --> *************** *** 166,176 **** --- 166,179 ---- </xsl:template> + <xsl:template match="XMI.CorbaTcBoolean" mode="type_name"> <xsl:text>CORBA::Boolean</xsl:text> </xsl:template> + <xsl:template match="XMI.CorbaTcString" mode="type_name"> <xsl:text>char*</xsl:text> </xsl:template> + <xsl:template match="XMI.CorbaTcEnum" mode="type_name"> Index: gen_class_hs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_class_hs.xsl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** gen_class_hs.xsl 2001/05/16 22:21:39 1.2 --- gen_class_hs.xsl 2001/05/28 22:35:35 1.3 *************** *** 11,20 **** <xsl:template name="CLASS_INSTANCE"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="class_name" select="@name"/> - <xsl:variable name="supertypes" select="@supertypes"/> - <xsl:variable name="superclass" select="/descendant::Model:Class[@xmi.id=$supertypes]/@name"/> <xsl:text>#ifndef __</xsl:text> --- 11,129 ---- + <!-- Templates to do #includes of superclass header files. + These templates all use the include mode. + WARNING! These templates are very similar to the the ones in + gen_proxy_hs.xsl but they aren't equivalent so don't attempt to + put them in common_code.xsl + --> + + + <!-- Replace the default rule. --> + <xsl:template match="*" mode="include"/> + + + <!-- Certain nodes do nothing. --> + <xsl:template mode="include" + match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode"> + <xsl:apply-templates mode="include"/> + </xsl:template> + + + <xsl:template match="Model:Class" mode="include"> + <xsl:variable name="classname" select="@name"/> + <xsl:text>#include "</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>_impl.h" </xsl:text> + + <xsl:text> </xsl:text> + + </xsl:template> + + + <xsl:template name="include-supertypes"> + <xsl:choose> + <xsl:when test="count(attribute::supertypes) = 0"> + <xsl:text>#include "Reflective_impl.h" </xsl:text> + </xsl:when> + <xsl:otherwise> + <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:otherwise> + </xsl:choose> + </xsl:template> + + + <!-- Templates to do inheritance + These templates all use the inherit mode. + --> + + + <!-- Replace the default rule. --> + <xsl:template match="*" mode="inherit"/> + + + <!-- Certain nodes do nothing. --> + <xsl:template mode="inherit" + match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode"> + <xsl:apply-templates mode="inherit"/> + </xsl:template> + + + <xsl:template match="Model:Class" mode="inherit"> + <xsl:text> virtual public </xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>_impl, </xsl:text> + </xsl:template> + + + <xsl:template name="inherits"> + <xsl:choose> + <xsl:when test="count(attribute::supertypes) = 0"> + <xsl:text> virtual public Reflective::RefObject, </xsl:text> + </xsl:when> + <xsl:otherwise> + <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> + <xsl:otherwise> + + <xsl:apply-templates mode="inherit" + select='/descendant::Model:Class[@xmi.id=$supertypes]'/> + + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <xsl:template name="CLASS_INSTANCE"> <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="class_name" select="@name"/> <xsl:text>#ifndef __</xsl:text> *************** *** 40,48 **** <xsl:text> </xsl:text> ! <xsl:text>#include "</xsl:text> ! <xsl:value-of select="$superclass"/> ! <xsl:text>_impl.h" </xsl:text> ! ! <xsl:text> </xsl:text> <xsl:text>#include "Core.h" </xsl:text> --- 149,153 ---- <xsl:text> </xsl:text> ! <xsl:call-template name="include-supertypes"/> <xsl:text>#include "Core.h" </xsl:text> *************** *** 54,59 **** <xsl:text> </xsl:text> - <xsl:text> </xsl:text> - <xsl:text>class </xsl:text> <xsl:value-of select="$class_name"/> --- 159,162 ---- *************** *** 64,70 **** <xsl:text>Class_impl, </xsl:text> ! <xsl:text> virtual public </xsl:text> ! <xsl:value-of select="$superclass"/> ! <xsl:text>_impl, </xsl:text> <xsl:text> virtual public POA_</xsl:text> --- 167,171 ---- <xsl:text>Class_impl, </xsl:text> ! <xsl:call-template name="inherits"/> <xsl:text> virtual public POA_</xsl:text> *************** *** 99,102 **** --- 200,205 ---- <xsl:text>}; </xsl:text> + + <xsl:text> </xsl:text> <xsl:text>#endif</xsl:text> Index: gen_proxy_hs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_proxy_hs.xsl,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -r1.5 -r1.6 *** gen_proxy_hs.xsl 2001/05/23 22:18:43 1.5 --- gen_proxy_hs.xsl 2001/05/28 22:35:35 1.6 *************** *** 13,16 **** --- 13,19 ---- <!-- Templates to do #includes These templates all use the include mode. + WARNING! These templates are very similar to the the ones in + gen_class_hs.xsl but they aren't equivalent so don't attempt to + put them in common_code.xsl --> *************** *** 38,41 **** --- 41,73 ---- + <xsl:template name="include-supertypes"> + <xsl:choose> + <xsl:when test="count(attribute::supertypes) = 0"> + <xsl:text>#include "Reflective_impl.h" </xsl:text> + </xsl:when> + <xsl:otherwise> + <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:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Templates to do inheritance These templates all use the inherit mode. *************** *** 61,64 **** --- 93,125 ---- + <xsl:template name="inherits"> + <xsl:choose> + <xsl:when test="count(attribute::supertypes) = 0"> + <xsl:text> virtual public Reflective::RefObject, </xsl:text> + </xsl:when> + <xsl:otherwise> + <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> + <xsl:otherwise> + + <xsl:apply-templates mode="inherit" + select='/descendant::Model:Class[@xmi.id=$supertypes]'/> + + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + </xsl:template> + + <!-- Templates to do parameters to the create_<class> method. These templates all use the create_params mode. *************** *** 104,110 **** <xsl:variable name="supertypes" select="@supertypes"/> - <!-- xsl:variable name="superclass" - select="/descendant::Model:Class[@xmi.id=$supertypes]"/ --> - <!-- if a supertype exists recurse on supertype --> <xsl:if test='count(attribute::supertypes) > 0'> --- 165,168 ---- *************** *** 135,139 **** <xsl:variable name="package_name" select="ancestor::Model:Package/@name"/> <xsl:variable name="class_name" select="@name"/> - <xsl:variable name="supertypes" select="@supertypes"/> <xsl:variable name="processed_cn"> --- 193,196 ---- *************** *** 162,189 **** <!-- Includes. --> ! <xsl:choose> ! <xsl:when test="count(attribute::supertypes) = 0"> ! <xsl:text>#include "Reflective_impl.h" </xsl:text> ! </xsl:when> ! <xsl:otherwise> ! <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:otherwise> ! </xsl:choose> <xsl:text>#include "Core.h" </xsl:text> --- 219,223 ---- <!-- Includes. --> ! <xsl:call-template name="include-supertypes"/> <xsl:text>#include "Core.h" </xsl:text> *************** *** 199,226 **** <xsl:text>Class_impl : </xsl:text> ! <xsl:choose> ! <xsl:when test="count(attribute::supertypes) = 0"> ! <xsl:text> virtual public Reflective::RefObject, </xsl:text> ! </xsl:when> ! <xsl:otherwise> ! <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> ! <xsl:otherwise> ! ! <xsl:apply-templates mode="inherit" ! select='/descendant::Model:Class[@xmi.id=$supertypes]'/> ! ! </xsl:otherwise> ! </xsl:choose> ! </xsl:otherwise> ! </xsl:choose> <xsl:text> virtual public POA_</xsl:text> --- 233,237 ---- <xsl:text>Class_impl : </xsl:text> ! <xsl:call-template name="inherits"/> <xsl:text> virtual public POA_</xsl:text> |
From: Chris M. <zm...@us...> - 2001-05-23 22:18:46
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools In directory usw-pr-cvs1:/tmp/cvs-serv20538 Modified Files: gen_proxy_hs.xsl Log Message: Spoke too soon. Removed create_<class> for abstract classes. Hacked in better comma separation for create_<class> parameters. Index: gen_proxy_hs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_proxy_hs.xsl,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -r1.4 -r1.5 *** gen_proxy_hs.xsl 2001/05/23 21:37:17 1.4 --- gen_proxy_hs.xsl 2001/05/23 22:18:43 1.5 *************** *** 38,43 **** - - <!-- Templates to do inheritance These templates all use the inherit mode. --- 38,41 ---- *************** *** 63,69 **** - - - <!-- Templates to do parameters to the create_<class> method. These templates all use the create_params mode. --- 61,64 ---- *************** *** 83,87 **** <xsl:template match="Model:Attribute" mode="create_params"> ! <xsl:variable name="type_ref" select="@type"/> <xsl:apply-templates select='/descendant::Model:DataType[attribute::xmi.id=$type_ref]/Model:DataType.typeCode' --- 78,89 ---- <xsl:template match="Model:Attribute" mode="create_params"> ! ! <!-- Hack!! If class name != ModelElement or attribute name != name.. --> ! <xsl:if ! test='not(ancestor::Model:Class/@name = "ModelElement" and @name = "name")'> ! <xsl:text>, </xsl:text> ! </xsl:if> ! ! <xsl:variable name="type_ref" select="@type"/> <xsl:apply-templates select='/descendant::Model:DataType[attribute::xmi.id=$type_ref]/Model:DataType.typeCode' *************** *** 94,98 **** <xsl:with-param name="position" select="1"/> </xsl:call-template> - <xsl:text>, </xsl:text> </xsl:template> --- 96,99 ---- *************** *** 269,294 **** </xsl:if> <!-- create_<class> method. --> ! <xsl:text> </xsl:text> ! <xsl:text> </xsl:text> ! <xsl:value-of select="$package_name"/> ! <xsl:text>::</xsl:text> ! <xsl:value-of select="$class_name"/> ! <xsl:text>_ptr create_</xsl:text> ! <xsl:value-of select="$processed_cn"/> ! <xsl:text>( </xsl:text> ! <xsl:apply-templates mode="create_params" select="."/> ! <xsl:text> ) </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> protected: </xsl:text> --- 270,300 ---- </xsl:if> + <xsl:text> </xsl:text> + <!-- create_<class> method. --> ! <xsl:if test='@isAbstract = "false"'> ! <xsl:text> </xsl:text> ! <xsl:value-of select="$package_name"/> ! <xsl:text>::</xsl:text> ! <xsl:value-of select="$class_name"/> ! <xsl:text>_ptr create_</xsl:text> ! <xsl:value-of select="$processed_cn"/> ! <xsl:text>( </xsl:text> ! <xsl:apply-templates mode="create_params" select="."/> ! <xsl:text> ) </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:if> + <xsl:text> protected: </xsl:text> *************** *** 309,313 **** <xsl:text> private: </xsl:text> ! <xsl:text> </xsl:text> <xsl:text> static list<</xsl:text> --- 315,319 ---- <xsl:text> private: </xsl:text> ! <xsl:text> </xsl:text> <xsl:text> static list<</xsl:text> |
From: Chris M. <zm...@us...> - 2001-05-23 21:37:19
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools In directory usw-pr-cvs1:/tmp/cvs-serv11105 Modified Files: gen_proxy_hs.xsl Log Message: proxy_hs looks complete to me. Index: gen_proxy_hs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_proxy_hs.xsl,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -r1.3 -r1.4 *** gen_proxy_hs.xsl 2001/05/22 23:00:40 1.3 --- gen_proxy_hs.xsl 2001/05/23 21:37:17 1.4 *************** *** 11,14 **** --- 11,69 ---- + <!-- Templates to do #includes + These templates all use the include mode. + --> + + + <!-- Replace the default rule. --> + <xsl:template match="*" mode="include"/> + + + <!-- Certain nodes do nothing. --> + <xsl:template mode="include" + match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode"> + <xsl:apply-templates mode="include"/> + </xsl:template> + + + <xsl:template match="Model:Class" mode="include"> + <xsl:variable name="classname" select="@name"/> + <xsl:text>#include "</xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>Class_impl.h" </xsl:text> + + <xsl:text> </xsl:text> + + </xsl:template> + + + + + <!-- Templates to do inheritance + These templates all use the inherit mode. + --> + + + <!-- Replace the default rule. --> + <xsl:template match="*" mode="inherit"/> + + + <!-- Certain nodes do nothing. --> + <xsl:template mode="inherit" + match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode"> + <xsl:apply-templates mode="inherit"/> + </xsl:template> + + + <xsl:template match="Model:Class" mode="inherit"> + <xsl:text> virtual public </xsl:text> + <xsl:value-of select="@name"/> + <xsl:text>Class_impl, </xsl:text> + </xsl:template> + + + + + <!-- Templates to do parameters to the create_<class> method. These templates all use the create_params mode. *************** *** 38,42 **** </xsl:with-param> <xsl:with-param name="position" select="1"/> ! </xsl:call-template> <xsl:text>, </xsl:text> </xsl:template> --- 93,97 ---- </xsl:with-param> <xsl:with-param name="position" select="1"/> ! </xsl:call-template> <xsl:text>, </xsl:text> </xsl:template> *************** *** 47,50 **** --- 102,106 ---- <!-- attempt to find this class's supertype --> <xsl:variable name="supertypes" select="@supertypes"/> + <!-- xsl:variable name="superclass" select="/descendant::Model:Class[@xmi.id=$supertypes]"/ --> *************** *** 79,84 **** <xsl:variable name="class_name" select="@name"/> <xsl:variable name="supertypes" select="@supertypes"/> - <xsl:variable name="superclass" - select="/descendant::Model:Class[@xmi.id=$supertypes]/@name"/> <xsl:variable name="processed_cn"> --- 135,138 ---- *************** *** 95,99 **** <xsl:with-param name="the_string" select="$class_name"/> </xsl:call-template> ! <xsl:text>_H__ </xsl:text> <xsl:text>#define __</xsl:text> --- 149,153 ---- <xsl:with-param name="the_string" select="$class_name"/> </xsl:call-template> ! <xsl:text>CLASS_H__ </xsl:text> <xsl:text>#define __</xsl:text> *************** *** 101,105 **** <xsl:with-param name="the_string" select="$class_name"/> </xsl:call-template> ! <xsl:text>_H__ </xsl:text> <xsl:text> </xsl:text> --- 155,159 ---- <xsl:with-param name="the_string" select="$class_name"/> </xsl:call-template> ! <xsl:text>CLASS_H__ </xsl:text> <xsl:text> </xsl:text> *************** *** 107,124 **** <!-- Includes. --> - <xsl:text>#include "</xsl:text> <xsl:choose> <xsl:when test="count(attribute::supertypes) = 0"> ! <xsl:text>Reflective</xsl:text> </xsl:when> <xsl:otherwise> ! <xsl:value-of select="$superclass"/> ! <xsl:text>Class</xsl:text> </xsl:otherwise> </xsl:choose> - <xsl:text>_impl.h" </xsl:text> - <xsl:text> </xsl:text> - <xsl:text>#include "Core.h" </xsl:text> --- 161,189 ---- <!-- Includes. --> <xsl:choose> <xsl:when test="count(attribute::supertypes) = 0"> ! <xsl:text>#include "Reflective_impl.h" </xsl:text> </xsl:when> <xsl:otherwise> ! <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:otherwise> </xsl:choose> <xsl:text>#include "Core.h" </xsl:text> *************** *** 133,140 **** <xsl:text>Class_impl : </xsl:text> ! <xsl:text> virtual public </xsl:text> ! <xsl:value-of select="$superclass"/> ! <xsl:text>Class_impl, </xsl:text> <xsl:text> virtual public POA_</xsl:text> <xsl:value-of select="$package_name"/> --- 198,226 ---- <xsl:text>Class_impl : </xsl:text> ! <xsl:choose> ! <xsl:when test="count(attribute::supertypes) = 0"> ! <xsl:text> virtual public Reflective::RefObject, </xsl:text> ! </xsl:when> ! <xsl:otherwise> ! <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> ! <xsl:otherwise> + <xsl:apply-templates mode="inherit" + select='/descendant::Model:Class[@xmi.id=$supertypes]'/> + + </xsl:otherwise> + </xsl:choose> + </xsl:otherwise> + </xsl:choose> + <xsl:text> virtual public POA_</xsl:text> <xsl:value-of select="$package_name"/> *************** *** 147,150 **** --- 233,238 ---- <xsl:text> public: </xsl:text> + <xsl:text> </xsl:text> + <!-- Constructor. --> *************** *** 153,158 **** <xsl:text>Class_impl(); </xsl:text> - <xsl:text> </xsl:text> - <!-- Destructor. --> --- 241,244 ---- *************** *** 163,167 **** <xsl:text> </xsl:text> ! <xsl:text> </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>::</xsl:text> --- 249,253 ---- <xsl:text> </xsl:text> ! <xsl:text> </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>::</xsl:text> *************** *** 171,179 **** <xsl:text>() </xsl:text> - <xsl:text> </xsl:text> - <xsl:if test='@isAbstract = "false"'> ! <xsl:text> </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>::</xsl:text> --- 257,263 ---- <xsl:text>() </xsl:text> <xsl:if test='@isAbstract = "false"'> ! <xsl:text> </xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>::</xsl:text> *************** *** 183,192 **** <xsl:text>() </xsl:text> - <xsl:text> </xsl:text> - </xsl:if> <!-- create_<class> method. --> <xsl:text> </xsl:text> <xsl:value-of select="$package_name"/> --- 267,275 ---- <xsl:text>() </xsl:text> </xsl:if> <!-- create_<class> method. --> + <xsl:text> </xsl:text> <xsl:text> </xsl:text> <xsl:value-of select="$package_name"/> *************** *** 207,210 **** --- 290,325 ---- <xsl:text> </xsl:text> + + <xsl:text> protected: </xsl:text> + + <xsl:text> </xsl:text> + + <xsl:text> static list<</xsl:text> + <xsl:value-of select="$package_name"/> + <xsl:text>::</xsl:text> + <xsl:value-of select="$class_name"/> + <xsl:text>_ptr> fc_all_of_type_</xsl:text> + <xsl:value-of select="$processed_cn"/> + <xsl:text>; </xsl:text> + + <xsl:text> </xsl:text> + + <xsl:if test='@isAbstract = "false"'> + + <xsl:text> private: </xsl:text> + + <xsl:text> </xsl:text> + + <xsl:text> static list<</xsl:text> + <xsl:value-of select="$package_name"/> + <xsl:text>::</xsl:text> + <xsl:value-of select="$class_name"/> + <xsl:text>_ptr> fc_all_of_class_</xsl:text> + <xsl:value-of select="$processed_cn"/> + <xsl:text>; </xsl:text> + + <xsl:text> </xsl:text> + + </xsl:if> <xsl:text>}; </xsl:text> |
From: Chris M. <zm...@us...> - 2001-05-22 23:01:41
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools In directory usw-pr-cvs1:/tmp/cvs-serv28059 Modified Files: common_code.xsl gen_proxy_hs.xsl Log Message: Class proxy headers almost complete. Small bugfix in common_code.xsl Index: common_code.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/common_code.xsl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** common_code.xsl 2001/05/16 22:01:49 1.1 --- common_code.xsl 2001/05/22 23:00:40 1.2 *************** *** 53,57 **** <xsl:variable name="new_string"> <xsl:value-of select='substring($text, 1, $position - 1)'/> ! <xsl:text>_</xsl:text> <xsl:call-template name="to_lower"> <xsl:with-param name="the_string" select="$letter"/> --- 53,59 ---- <xsl:variable name="new_string"> <xsl:value-of select='substring($text, 1, $position - 1)'/> ! <xsl:if test='not($position = 1)'> ! <xsl:text>_</xsl:text> ! </xsl:if> <xsl:call-template name="to_lower"> <xsl:with-param name="the_string" select="$letter"/> Index: gen_proxy_hs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_proxy_hs.xsl,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** gen_proxy_hs.xsl 2001/05/16 22:21:39 1.2 --- gen_proxy_hs.xsl 2001/05/22 23:00:40 1.3 *************** *** 11,14 **** --- 11,77 ---- + <!-- Templates to do parameters to the create_<class> method. + These templates all use the create_params mode. + --> + + + <!-- Replace the default rule. --> + <xsl:template match="*" mode="create_params"/> + + + <!-- Certain nodes do nothing. --> + <xsl:template mode="create_params" + match="/ | XMI | XMI.content | Model:Package | Model:Namespace.contents | Model:DataType.typeCode | XMI.CorbaTypeCode"> + <xsl:apply-templates mode="create_params"/> + </xsl:template> + + + <xsl:template match="Model:Attribute" mode="create_params"> + <xsl:variable name="type_ref" select="@type"/> + <xsl:apply-templates + select='/descendant::Model:DataType[attribute::xmi.id=$type_ref]/Model:DataType.typeCode' + mode="type_name"/> + <xsl:text> </xsl:text> + <xsl:call-template name="to_name"> + <xsl:with-param name="text"> + <xsl:value-of select="@name"/> + </xsl:with-param> + <xsl:with-param name="position" select="1"/> + </xsl:call-template> + <xsl:text>, </xsl:text> + </xsl:template> + + + <xsl:template match="Model:Class" mode="create_params"> + + <!-- attempt to find this class's supertype --> + <xsl:variable name="supertypes" select="@supertypes"/> + <!-- xsl:variable name="superclass" + select="/descendant::Model:Class[@xmi.id=$supertypes]"/ --> + + <!-- if a supertype exists recurse on supertype --> + <xsl:if test='count(attribute::supertypes) > 0'> + + <xsl:choose> + <xsl:when test='contains(@supertypes," ")'> + <xsl:apply-templates mode="create_params" + select='/descendant::Model:Class[@xmi.id=substring-before($supertypes," ")]'/> + <!-- Hack!! xsl:apply-templates mode="create_params" + select='/descendant::Model:Class[@xmi.id=substring-after($supertypes," ")]'/ --> + </xsl:when> + <xsl:otherwise> + <xsl:apply-templates mode="create_params" + select='/descendant::Model:Class[@xmi.id=$supertypes]'/> + </xsl:otherwise> + </xsl:choose> + + </xsl:if> + + <!-- output the current nodes attributes --> + <xsl:apply-templates mode="create_params"/> + + </xsl:template> + + <xsl:template name="CLASS_PROXY"> *************** *** 16,20 **** <xsl:variable name="class_name" select="@name"/> <xsl:variable name="supertypes" select="@supertypes"/> ! <xsl:variable name="superclass" select="/descendant::Model:Class[@xmi.id=$supertypes]/@name"/> <xsl:variable name="processed_cn"> --- 79,84 ---- <xsl:variable name="class_name" select="@name"/> <xsl:variable name="supertypes" select="@supertypes"/> ! <xsl:variable name="superclass" ! select="/descendant::Model:Class[@xmi.id=$supertypes]/@name"/> <xsl:variable name="processed_cn"> *************** *** 103,107 **** <xsl:text>::</xsl:text> <xsl:value-of select="$class_name"/> ! <xsl:text>ClassSet* all_of_type</xsl:text> <xsl:value-of select="$processed_cn"/> <xsl:text>() </xsl:text> --- 167,171 ---- <xsl:text>::</xsl:text> <xsl:value-of select="$class_name"/> ! <xsl:text>ClassSet* all_of_type_</xsl:text> <xsl:value-of select="$processed_cn"/> <xsl:text>() </xsl:text> *************** *** 115,119 **** <xsl:text>::</xsl:text> <xsl:value-of select="$class_name"/> ! <xsl:text>ClassSet* all_of_class</xsl:text> <xsl:value-of select="$processed_cn"/> <xsl:text>() </xsl:text> --- 179,183 ---- <xsl:text>::</xsl:text> <xsl:value-of select="$class_name"/> ! <xsl:text>ClassSet* all_of_class_</xsl:text> <xsl:value-of select="$processed_cn"/> <xsl:text>() </xsl:text> *************** *** 123,129 **** </xsl:if> <xsl:text>}; </xsl:text> ! <xsl:text>#endif</xsl:text> </xsl:template> --- 187,216 ---- </xsl:if> + <!-- create_<class> method. --> + + <xsl:text> </xsl:text> + <xsl:value-of select="$package_name"/> + <xsl:text>::</xsl:text> + <xsl:value-of select="$class_name"/> + <xsl:text>_ptr create_</xsl:text> + <xsl:value-of select="$processed_cn"/> + <xsl:text>( </xsl:text> + + <xsl:apply-templates mode="create_params" select="."/> + + <xsl:text> ) </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>}; </xsl:text> + + <xsl:text> </xsl:text> ! <xsl:text>#endif </xsl:text> </xsl:template> |
From: Chris M. <zm...@us...> - 2001-05-22 22:59:32
|
Update of /cvsroot/kuml/kuml/libkuml/uml In directory usw-pr-cvs1:/tmp/cvs-serv27903/uml Added Files: codegen.mf Log Message: --- NEW FILE --- CLASSPATH='/opt/xalan-j_2_0_1/bin/xalan.jar:/opt/xalan-j_2_0_1/bin/xerces.jar' JAVACOMM=java -Xmx100000000 -classpath $(CLASSPATH) XALANCOMM=$(JAVACOMM) org.apache.xalan.xslt.Process MOF_MODEL_OF_UML=idl-1.4/01-02-15.xml XSL_DIR=tools all: class_hs class_ccs assoc_hs proxy_hs class_hs: $(XALANCOMM) -IN $(MOF_MODEL_OF_UML) -XSL $(XSL_DIR)/gen_class_hs.xsl class_ccs: $(XALANCOMM) -IN $(MOF_MODEL_OF_UML) -XSL $(XSL_DIR)/gen_class_ccs.xsl assoc_hs: $(XALANCOMM) -IN $(MOF_MODEL_OF_UML) -XSL $(XSL_DIR)/gen_assoc_hs.xsl proxy_hs: $(XALANCOMM) -IN $(MOF_MODEL_OF_UML) -XSL $(XSL_DIR)/gen_proxy_hs.xsl clean: rm -rf Activity_Graphs Collaborations Common_Behavior Core Data_Types \ Model_Management State_Machines Use_Cases |
From: Chris M. <zm...@us...> - 2001-05-16 22:21:42
|
Update of /cvsroot/kuml/kuml/libkuml/uml/tools In directory usw-pr-cvs1:/tmp/cvs-serv25444 Modified Files: gen_assoc_hs.xsl gen_class_ccs.xsl gen_class_hs.xsl gen_proxy_hs.xsl Log Message: Whoops! Index: gen_assoc_hs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_assoc_hs.xsl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** gen_assoc_hs.xsl 2001/05/16 22:01:49 1.1 --- gen_assoc_hs.xsl 2001/05/16 22:21:39 1.2 *************** *** 80,83 **** --- 80,84 ---- <xsl:variable name="filename"> + <xsl:text>../</xsl:text> <xsl:value-of select="$package_name"/> <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.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** gen_class_ccs.xsl 2001/05/16 22:01:49 1.1 --- gen_class_ccs.xsl 2001/05/16 22:21:39 1.2 *************** *** 700,703 **** --- 700,704 ---- <xsl:variable name="class_name" select="@name"/> <xsl:variable name="filename"> + <xsl:text>../</xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>/</xsl:text> Index: gen_class_hs.xsl =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/tools/gen_class_hs.xsl,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** gen_class_hs.xsl 2001/05/16 22:01:49 1.1 --- gen_class_hs.xsl 2001/05/16 22:21:39 1.2 *************** *** 787,790 **** --- 787,791 ---- <xsl:variable name="class_filename"> + <xsl:text>../</xsl:text> <xsl:value-of select="$package_name"/> <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.1 retrieving revision 1.2 diff -C2 -r1.1 -r1.2 *** gen_proxy_hs.xsl 2001/05/16 22:01:49 1.1 --- gen_proxy_hs.xsl 2001/05/16 22:21:39 1.2 *************** *** 158,161 **** --- 158,162 ---- <xsl:variable name="proxy_filename"> + <xsl:text>../</xsl:text> <xsl:value-of select="$package_name"/> <xsl:text>/</xsl:text> |
From: Chris M. <zm...@us...> - 2001-05-16 22:01:52
|
Update of /cvsroot/kuml/kuml/libkuml/uml/Reflective In directory usw-pr-cvs1:/tmp/cvs-serv20626/uml/Reflective Modified Files: Reflective_impl.cc Reflective_impl.h Log Message: Initial codegen via XSLT. Index: Reflective_impl.cc =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/Reflective/Reflective_impl.cc,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -r1.1.1.1 -r1.2 *** Reflective_impl.cc 2000/10/16 04:02:12 1.1.1.1 --- Reflective_impl.cc 2001/05/16 22:01:49 1.2 *************** *** 1,3 **** --- 1,4 ---- + #include "../Foundation/copy_to_iseq.h" #include "Reflective_impl.h" *************** *** 380,392 **** ::CORBA::SystemException) ! { ! Reflective::LinkSet* retval; ! ! // add your implementation here ! // REMOVE ! mico_throw(::CORBA::NO_IMPLEMENT()); ! // REMOVE ! ! return retval; } --- 381,386 ---- ::CORBA::SystemException) ! { Reflective::LinkSet_var seq = new Reflective::LinkSet; ! return seq._retn(); } Index: Reflective_impl.h =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/Reflective/Reflective_impl.h,v retrieving revision 1.1.1.1 retrieving revision 1.2 diff -C2 -r1.1.1.1 -r1.2 *** Reflective_impl.h 2000/10/16 04:02:12 1.1.1.1 --- Reflective_impl.h 2001/05/16 22:01:49 1.2 *************** *** 204,207 **** --- 204,210 ---- ::Reflective::MofError) ; + + protected: + list<Reflective::Link> fc_ref_all_links; }; |
From: Chris M. <zm...@us...> - 2001-05-16 22:01:52
|
Update of /cvsroot/kuml/kuml/libkuml/uml/idl-1.4 In directory usw-pr-cvs1:/tmp/cvs-serv20626/uml/idl-1.4 Added Files: 01-02-15.xml Log Message: Initial codegen via XSLT. --- NEW FILE --- <?xml version="1.0" encoding="UTF-8" ?> <!-- <!DOCTYPE XMI SYSTEM 'Model.dtd'> --> <XMI xmi.version='1.1' xmlns:Model='omg.org/mof.Model/1.3'> <XMI.header> <XMI.model xmi.name='UML' xmi.version='1.4'/> <XMI.metamodel xmi.name='Model' xmi.version='1.3'/> </XMI.header> <XMI.content> <Model:Package xmi.id='a0' name='UML' annotation='' isRoot='false' isLeaf='false' isAbstract='false' visibility='public_vis'> <Model:Namespace.contents> <Model:Tag xmi.id='a1' name='org.omg.mof.idl_prefix=org.omg' annotation='' tagId='org.omg.mof.idl_prefix' elements='a0'> <Model:Tag.values> <XMI.any xmi.type='string'>org.omg</XMI.any> </Model:Tag.values> </Model:Tag> <Model:Tag xmi.id='a2' name='org.omg.xmi.namespace=UML' annotation='' tagId='org.omg.xmi.namespace' elements='a0'> <Model:Tag.values> <XMI.any xmi.type='string'>UML</XMI.any> </Model:Tag.values> [...5178 lines suppressed...] <XMI.field>1</XMI.field> <!-- lower --> <XMI.field>1</XMI.field> <!-- upper --> <XMI.field>false</XMI.field> <!-- is_ordered --> <XMI.field>false</XMI.field> <!-- is_unique --> </Model:AssociationEnd.multiplicity> </Model:AssociationEnd> <Model:AssociationEnd xmi.id='a798' name='elementImport' annotation='' isNavigable='true' aggregation='none' isChangeable='true' type='a797'> <Model:AssociationEnd.multiplicity> <XMI.field>0</XMI.field> <!-- lower --> <XMI.field>-1</XMI.field> <!-- upper --> <XMI.field>false</XMI.field> <!-- is_ordered --> <XMI.field>true</XMI.field> <!-- is_unique --> </Model:AssociationEnd.multiplicity> </Model:AssociationEnd> </Model:Namespace.contents> </Model:Association> </Model:Namespace.contents> </Model:Package> </XMI.content> </XMI> |
From: Chris M. <zm...@us...> - 2001-05-16 22:01:52
|
Update of /cvsroot/kuml/kuml/libkuml/uml In directory usw-pr-cvs1:/tmp/cvs-serv20626/uml Modified Files: DESIGN.txt README.txt Log Message: Initial codegen via XSLT. Index: DESIGN.txt =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/DESIGN.txt,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** DESIGN.txt 2000/12/20 20:37:16 1.2 --- DESIGN.txt 2001/05/16 22:01:49 1.3 *************** *** 39,43 **** Configuration Control ! Develpoers release packages to other developers. Or stable/unstable. --- 39,43 ---- Configuration Control ! Developers release packages to other developers. Or stable/unstable. Index: README.txt =================================================================== RCS file: /cvsroot/kuml/kuml/libkuml/uml/README.txt,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -r1.2 -r1.3 *** README.txt 2000/12/20 20:37:16 1.2 --- README.txt 2001/05/16 22:01:49 1.3 *************** *** 1,14 **** ! Requires MICO. I'm using v2.3.0 atm. Type make in this dir. Should get an fcd executable. - If it fails compiling Foundation.cc then cd to UmlRepository/UmlCore/Skel - and type make. - If you manage to compile Foundation.cc I'd be interested to know how much RAM - and swapspace you have. To start the server: freecase start To stop the sever: freecase stop To make something happen: build and run the test program in ../test_client ! The idl-1.3 dir contains the CORBA IDL for the UML v1.3 repository. The idl ! directory holds the v1.1 IDL so you can ignore it. (How do you remove directories using cvs? Is it the same as files?) --- 1,11 ---- ! Requires MICO. I'm using v2.3.5 atm. Type make in this dir. Should get an fcd executable. To start the server: freecase start To stop the sever: freecase stop To make something happen: build and run the test program in ../test_client ! The idl-1.4 directory contains the CORBA IDL and the MOF model of UML in XMI ! format for UML v1.4. The idl-1.3 directory contains the IDL for UML 1.3 The ! idl directory holds the v1.1 IDL so you can ignore it. (How do you remove directories using cvs? Is it the same as files?) *************** *** 26,39 **** implement it! Actually we may be able to use the DII... ! Most of the code in UmlRepository/UmlCore/ is now auto-generated using ! UmlRepository/tools/autogen.awk I invoke it in a temporary directory ! (parallel to UmlCore) as follows: ! awk -f ../tools/autogen.awk Foundation_impl.h and in the blink of an eye you have more code than you have a right too for so ! little effort. Shame on you! I then copy the modified files into ../UmlCore ! using ../tools/copy_diff_files. This stops make re-making everything all the ! time which takes ages. The main dir contains the main program naturally. --- 23,33 ---- implement it! Actually we may be able to use the DII... ! Most of the code in the module sub-directories is now auto-generated using ! the codegen.mf makefile as follows: ! make -f codegen.mf and in the blink of an eye you have more code than you have a right too for so ! little effort. Shame on you! The main dir contains the main program naturally. |
From: Chris M. <zm...@us...> - 2001-05-16 21:58:25
|
Update of /cvsroot/kuml/kuml/libkuml/uml/idl-1.4 In directory usw-pr-cvs1:/tmp/cvs-serv20127/idl-1.4 Log Message: Directory /cvsroot/kuml/kuml/libkuml/uml/idl-1.4 added to the repository |