diff --git a/repository/OP-UML-XMI/OPUMLXMIMetaReader.class.st b/repository/OP-UML-XMI/OPUMLXMIMetaReader.class.st index d95e6fb..372279c 100644 --- a/repository/OP-UML-XMI/OPUMLXMIMetaReader.class.st +++ b/repository/OP-UML-XMI/OPUMLXMIMetaReader.class.st @@ -1,21 +1,25 @@ Class { - #name : #OPUMLXMIMetaReader, - #superclass : #OPUMLXMIReader, - #category : 'OP-UML-XMI-Reader' + #name : 'OPUMLXMIMetaReader', + #superclass : 'OPUMLXMIReader', + #category : 'OP-UML-XMI-Reader', + #package : 'OP-UML-XMI', + #tag : 'Reader' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } OPUMLXMIMetaReader >> createNewInstanceFor: anItem property: aProperty [ + | name | - name := (#(Package Model Profile) includes: anItem xmiName) - ifTrue: [ anItem xmiName ] - ifFalse: [ anItem xmiType - ifNil: [ self error: 'Unknown element type.' ] - ifNotNil: [ :type | (type splitOn: ':') last ] ]. - ^ (self classPrefix , name) asSymbol asClass new + name := (#( Package Model Profile ) includes: anItem xmiName) + ifTrue: [ anItem xmiName ] + ifFalse: [ + anItem xmiType + ifNil: [ self error: 'Unknown element type.' ] + ifNotNil: [ :type | (type splitOn: ':') last ] ]. + ^ (Smalltalk at: (self classPrefix , name) asSymbol) new ] -{ #category : #reading } +{ #category : 'reading' } OPUMLXMIMetaReader >> readItem: anItem property: aProperty [ | instance groups | anItem isValueItem @@ -53,7 +57,7 @@ OPUMLXMIMetaReader >> readItem: anItem property: aProperty [ ^ instance ] -{ #category : #reading } +{ #category : 'reading' } OPUMLXMIMetaReader >> valueFor: anObject [ anObject = 'true' ifTrue: [ ^ true ]. diff --git a/repository/OP-UML-XMI/OPUMLXMIPathmap.class.st b/repository/OP-UML-XMI/OPUMLXMIPathmap.class.st index b768a00..62e079b 100644 --- a/repository/OP-UML-XMI/OPUMLXMIPathmap.class.st +++ b/repository/OP-UML-XMI/OPUMLXMIPathmap.class.st @@ -1,13 +1,15 @@ Class { - #name : #OPUMLXMIPathmap, - #superclass : #Object, + #name : 'OPUMLXMIPathmap', + #superclass : 'Object', #instVars : [ 'mapping' ], - #category : 'OP-UML-XMI-Utility' + #category : 'OP-UML-XMI-Utility', + #package : 'OP-UML-XMI', + #tag : 'Utility' } -{ #category : #accessing } +{ #category : 'accessing' } OPUMLXMIPathmap class >> default [ ^ self new add: 'http://www.omg.org/spec/UML/20131001/PrimitiveTypes.xmi'; @@ -15,23 +17,23 @@ OPUMLXMIPathmap class >> default [ yourself ] -{ #category : #adding } +{ #category : 'adding' } OPUMLXMIPathmap >> add: aPath [ self add: aPath retrieveUsing: [ OPUMLXMISpecsStorage current at: aPath ] ] -{ #category : #adding } +{ #category : 'adding' } OPUMLXMIPathmap >> add: aPath retrieveUsing: aBlock [ mapping at: aPath put: aBlock value ] -{ #category : #initialization } +{ #category : 'initialization' } OPUMLXMIPathmap >> initialize [ super initialize. mapping := OrderedDictionary new ] -{ #category : #accessing } +{ #category : 'accessing' } OPUMLXMIPathmap >> mapping [ ^ mapping ] diff --git a/repository/OP-UML-XMI/OPUMLXMIReader.class.st b/repository/OP-UML-XMI/OPUMLXMIReader.class.st index f255ff1..465f39a 100644 --- a/repository/OP-UML-XMI/OPUMLXMIReader.class.st +++ b/repository/OP-UML-XMI/OPUMLXMIReader.class.st @@ -1,19 +1,21 @@ Class { - #name : #OPUMLXMIReader, - #superclass : #Object, + #name : 'OPUMLXMIReader', + #superclass : 'Object', #instVars : [ 'classPrefix', 'instanceCache' ], - #category : #'OP-UML-XMI-Reader' + #category : 'OP-UML-XMI-Reader', + #package : 'OP-UML-XMI', + #tag : 'Reader' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } OPUMLXMIReader class >> read: anXmlStream [ ^ self read: anXmlStream pathmap: OPUMLXMIPathmap default ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } OPUMLXMIReader class >> read: anXmlStream pathmap: aPathmap [ | xmi pathmap xmiResult processedXmi | pathmap := aPathmap mapping copy. @@ -24,12 +26,12 @@ OPUMLXMIReader class >> read: anXmlStream pathmap: aPathmap [ ^ processedXmi first ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } OPUMLXMIReader class >> readFrom: aStream [ ^ (self new readXmi: (OPXMIReader readFrom: aStream)) first ] -{ #category : #'as yet unclassified' } +{ #category : 'as yet unclassified' } OPUMLXMIReader >> applyStereotype: anStereotypeXMI outOf: possibleStereotypes to: anElement [ | stereotype groups | stereotype := (possibleStereotypes at: anStereotypeXMI xmiName) @@ -43,7 +45,7 @@ OPUMLXMIReader >> applyStereotype: anStereotypeXMI outOf: possibleStereotypes to [ :key :values | self readPropertyNamed: key values: values instance: stereotype ] ] -{ #category : #reading } +{ #category : 'reading' } OPUMLXMIReader >> applyStereotypesAmongst: elements to: models [ | possibleStereotypes | possibleStereotypes := ((models @@ -68,7 +70,7 @@ OPUMLXMIReader >> applyStereotypesAmongst: elements to: models [ referencedElement xmiId) ] ] -{ #category : #converting } +{ #category : 'converting' } OPUMLXMIReader >> asPlural: aString [ (aString endsWith: 's') ifTrue: [ ^ aString , 'es' ]. @@ -77,61 +79,63 @@ OPUMLXMIReader >> asPlural: aString [ ^ aString , 's' ] -{ #category : #accessing } +{ #category : 'accessing' } OPUMLXMIReader >> classPrefix [ ^ classPrefix ] -{ #category : #accessing } +{ #category : 'accessing' } OPUMLXMIReader >> classPrefix: anObject [ classPrefix := anObject ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } OPUMLXMIReader >> createNewInstanceFor: anItem property: aProperty [ + | name | name := aProperty - ifNil: [ "Root elements only" - self assert: [ #(Package Model Profile) includes: anItem xmiName ]. - anItem xmiName ] - ifNotNil: [ anItem xmiType - ifNil: [ aProperty type name ] - ifNotNil: [ :type | (type splitOn: ':') last ] ]. - ^ (self classPrefix , name) asSymbol asClass new - uuid: - ([ UUID fromString: anItem xmiId ] - on: Error - do: [ anItem xmiId ]); - yourself + ifNil: [ "Root elements only" + self assert: [ + #( Package Model Profile ) includes: anItem xmiName ]. + anItem xmiName ] + ifNotNil: [ + anItem xmiType + ifNil: [ aProperty type name ] + ifNotNil: [ :type | (type splitOn: ':') last ] ]. + ^ (Smalltalk at: (self classPrefix , name) asSymbol) new + uuid: ([ UUID fromString: anItem xmiId ] + on: Error + do: [ anItem xmiId ]); + yourself ] -{ #category : #accessing } +{ #category : 'accessing' } OPUMLXMIReader >> defaultClassPrefix [ ^ 'OPUML' ] -{ #category : #reading } +{ #category : 'reading' } OPUMLXMIReader >> groupedChildrenIn: anObjectElement [ ^ ((anObjectElement containedItems reject: [ :each | #('xmi:' 'xmlns:') anySatisfy: [ :prefix | each xmiName beginsWith: prefix ] ]) reject: [ :each | #('Extension' 'default' 'uri') includes: each xmiName ]) groupedBy: #xmiName ] -{ #category : #initialization } +{ #category : 'initialization' } OPUMLXMIReader >> initialize [ super initialize. instanceCache := Dictionary new. classPrefix := self defaultClassPrefix ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } OPUMLXMIReader >> instanceFor: anObjectElement property: aProperty [ ^ instanceCache at: (self uniqueIdOf: anObjectElement) ifAbsentPut: [ self createNewInstanceFor: anObjectElement property: aProperty ] ] -{ #category : #reading } +{ #category : 'reading' } OPUMLXMIReader >> readItem: anItem property: aProperty [ | instance groups | anItem isValueItem @@ -160,7 +164,7 @@ OPUMLXMIReader >> readItem: anItem property: aProperty [ ^ instance ] -{ #category : #reading } +{ #category : 'reading' } OPUMLXMIReader >> readMetamodelItem: anItem property: aProperty [ | parts | parts := anItem href splitOn: '#'. @@ -171,14 +175,14 @@ OPUMLXMIReader >> readMetamodelItem: anItem property: aProperty [ self error: 'Unknown type at ' , anItem href ] -{ #category : #reading } +{ #category : 'reading' } OPUMLXMIReader >> readMofItem: anItem property: aProperty [ | parts | parts := anItem href splitOn: '#'. ^ OPUMLXMISpecsStorage primitiveTypeNamed: parts second ] -{ #category : #reading } +{ #category : 'reading' } OPUMLXMIReader >> readProfileItem: anItem property: aProperty [ | parts factory | parts := anItem href splitOn: '#'. @@ -192,7 +196,7 @@ OPUMLXMIReader >> readProfileItem: anItem property: aProperty [ ^ factory profile ] -{ #category : #reading } +{ #category : 'reading' } OPUMLXMIReader >> readPropertyNamed: aKey values: values instance: anInstance [ | property pluralSelector isMultivalued sg arguments pl selector | property := (anInstance umlMetaClass allAttributes select: [ :each | each name = aKey ]) @@ -220,7 +224,7 @@ OPUMLXMIReader >> readPropertyNamed: aKey values: values instance: anInstance [ ifTrue: [ anInstance perform: selector with: arguments first ] ] ] -{ #category : #reading } +{ #category : 'reading' } OPUMLXMIReader >> readXmi: anXmi [ | elements models | (anXmi isObjectElement @@ -235,7 +239,7 @@ OPUMLXMIReader >> readXmi: anXmi [ ^ models ] -{ #category : #reading } +{ #category : 'reading' } OPUMLXMIReader >> uniqueIdOf: anObject [ anObject xmiName = 'packageImport' ifTrue: [ ^ anObject xmiId , '-' @@ -243,7 +247,7 @@ OPUMLXMIReader >> uniqueIdOf: anObject [ ^ anObject xmiId ] -{ #category : #reading } +{ #category : 'reading' } OPUMLXMIReader >> valueFor: anObject property: aProperty [ (#('Integer') includes: aProperty type name) ifTrue: [ ^ Number readFromString: anObject ]. diff --git a/repository/OP-UML-XMI/OPUMLXMIReaderTest.class.st b/repository/OP-UML-XMI/OPUMLXMIReaderTest.class.st index 0b4eb63..16d1c14 100644 --- a/repository/OP-UML-XMI/OPUMLXMIReaderTest.class.st +++ b/repository/OP-UML-XMI/OPUMLXMIReaderTest.class.st @@ -1,14 +1,16 @@ Class { - #name : #OPUMLXMIReaderTest, - #superclass : #TestCase, + #name : 'OPUMLXMIReaderTest', + #superclass : 'TestCase', #instVars : [ 'reader', 'packagedElementProperty' ], - #category : 'OP-UML-XMI-Tests' + #category : 'OP-UML-XMI-Tests', + #package : 'OP-UML-XMI', + #tag : 'Tests' } -{ #category : #'instance creation' } +{ #category : 'instance creation' } OPUMLXMIReaderTest >> association [ | assoc ownedAttr ownedEnd | ownedAttr := OPXMIObjectElement new. @@ -43,7 +45,7 @@ OPUMLXMIReaderTest >> association [ ^ assoc ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } OPUMLXMIReaderTest >> attributeWithHrefType [ ^ OPXMIReader readFrom: @@ -52,7 +54,7 @@ OPUMLXMIReaderTest >> attributeWithHrefType [ ' ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } OPUMLXMIReaderTest >> attributeWithPrimitiveType [ ^ OPXMIReader readFrom: @@ -61,7 +63,7 @@ OPUMLXMIReaderTest >> attributeWithPrimitiveType [ ' ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } OPUMLXMIReaderTest >> defaultValueElement [ ^ OPXMIObjectElement new containedItems: @@ -69,7 +71,7 @@ OPUMLXMIReaderTest >> defaultValueElement [ OPXMIValueAttribute xmiName: 'xmi:id' value: 'lowerValue'} ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } OPUMLXMIReaderTest >> elementWithGeneralization [ "Comment -> Element" @@ -95,7 +97,7 @@ OPUMLXMIReaderTest >> elementWithGeneralization [ OPXMIValueAttribute xmiName: 'name' value: 'Element'}}}} ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } OPUMLXMIReaderTest >> generalizationElement [ "-> Element" @@ -115,12 +117,12 @@ OPUMLXMIReaderTest >> generalizationElement [ OPXMIValueAttribute xmiName: 'name' value: 'Element'}}} ] -{ #category : #accessing } +{ #category : 'accessing' } OPUMLXMIReaderTest >> metaClassNamed: aName [ ^ OPUMLXMISpecsStorage metaClassNamed: aName ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } OPUMLXMIReaderTest >> multipleNestedAttributes [ ^ OPXMIObjectElement new xmiName: 'packagedElement'; @@ -142,7 +144,7 @@ OPUMLXMIReaderTest >> multipleNestedAttributes [ OPXMIValueElement xmiName: 'name' value: 'body'}} ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } OPUMLXMIReaderTest >> nestedComplexElement [ ^ OPXMIObjectElement new xmiName: 'Attribute'; @@ -157,7 +159,7 @@ OPUMLXMIReaderTest >> nestedComplexElement [ OPXMIValueElement xmiName: 'value' value: '*'}} ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } OPUMLXMIReaderTest >> packageImportPackage [ | activities classification | classification := OPXMIObjectElement new @@ -198,25 +200,25 @@ OPUMLXMIReaderTest >> packageImportPackage [ OPXMIReferenceAttribute xmiName: 'importedPackage' referencedElements: {classification}}} ] -{ #category : #accessing } +{ #category : 'accessing' } OPUMLXMIReaderTest >> primitiveTypeNamed: aName [ ^ OPUMLXMISpecsStorage primitiveTypeNamed: aName ] -{ #category : #running } +{ #category : 'running' } OPUMLXMIReaderTest >> property: aPropertyName in: aContainerClass [ ^ (OPUMLXMISpecsStorage metaClassFor: aContainerClass) ownedAttributes detect: [ :each | each name = aPropertyName ] ] -{ #category : #running } +{ #category : 'running' } OPUMLXMIReaderTest >> setUp [ reader := OPUMLXMIReader new. packagedElementProperty := (OPUMLXMISpecsStorage metaClassFor: OPUMLPackage new) ownedAttributes detect: [ :each | each name = 'packagedElement' ] ] -{ #category : #tests } +{ #category : 'tests' } OPUMLXMIReaderTest >> testAmbiguousPackageImport [ "xmi:id of elements are not valid and should be ignored (they are not unique). Test that we can load correctly despite that" @@ -234,7 +236,7 @@ OPUMLXMIReaderTest >> testAmbiguousPackageImport [ equals: classificationPkg ] -{ #category : #tests } +{ #category : 'tests' } OPUMLXMIReaderTest >> testAssociation [ | result | result := reader readItem: self association property: packagedElementProperty. @@ -247,7 +249,7 @@ OPUMLXMIReaderTest >> testAssociation [ self assert: (result memberEnds includes: result ownedEnds first) ] -{ #category : #'tests - reading - value' } +{ #category : 'tests - reading - value' } OPUMLXMIReaderTest >> testBooleanStringValue [ | result stringProperty | stringProperty := (OPUMLXMISpecsStorage metaClassFor: OPUMLProperty new) allAttributes @@ -256,7 +258,7 @@ OPUMLXMIReaderTest >> testBooleanStringValue [ self assert: result equals: 'true' ] -{ #category : #'tests - reading - value' } +{ #category : 'tests - reading - value' } OPUMLXMIReaderTest >> testBooleanValue [ | result booleanProperty | booleanProperty := (OPUMLXMISpecsStorage metaClassFor: OPUMLProperty new) ownedAttributes @@ -265,7 +267,7 @@ OPUMLXMIReaderTest >> testBooleanValue [ self assert: result equals: true ] -{ #category : #tests } +{ #category : 'tests' } OPUMLXMIReaderTest >> testCreateNewInstanceProperty [ | item property | item := OPXMIObjectElement new @@ -278,7 +280,7 @@ OPUMLXMIReaderTest >> testCreateNewInstanceProperty [ equals: #ProfileApplication ] -{ #category : #tests } +{ #category : 'tests' } OPUMLXMIReaderTest >> testCreateNewInstanceXmiId [ | item | item := OPXMIObjectElement new @@ -289,7 +291,7 @@ OPUMLXMIReaderTest >> testCreateNewInstanceXmiId [ equals: 'CustomId' ] -{ #category : #tests } +{ #category : 'tests' } OPUMLXMIReaderTest >> testCreateNewInstanceXmiName [ | item | item := OPXMIObjectElement new @@ -300,7 +302,7 @@ OPUMLXMIReaderTest >> testCreateNewInstanceXmiName [ equals: #Package ] -{ #category : #tests } +{ #category : 'tests' } OPUMLXMIReaderTest >> testCreateNewInstanceXmiType [ | item | item := OPXMIObjectElement new @@ -311,7 +313,7 @@ OPUMLXMIReaderTest >> testCreateNewInstanceXmiType [ equals: #Class ] -{ #category : #tests } +{ #category : 'tests' } OPUMLXMIReaderTest >> testGeneralizationElement [ | result | result := reader @@ -321,7 +323,7 @@ OPUMLXMIReaderTest >> testGeneralizationElement [ self assert: result general name equals: 'Element' ] -{ #category : #tests } +{ #category : 'tests' } OPUMLXMIReaderTest >> testGroupedChildren [ | result | result := reader groupedChildrenIn: self multipleNestedAttributes. @@ -330,7 +332,7 @@ OPUMLXMIReaderTest >> testGroupedChildren [ self assert: (result at: #ownedAttribute) size equals: 2 ] -{ #category : #tests } +{ #category : 'tests' } OPUMLXMIReaderTest >> testInstance [ | element result1 result2 | element := OPXMIObjectElement new @@ -342,7 +344,7 @@ OPUMLXMIReaderTest >> testInstance [ self assert: result1 == result2 description: 'We expect the same object.' ] -{ #category : #'tests - reading - value' } +{ #category : 'tests - reading - value' } OPUMLXMIReaderTest >> testIntegerStringValue [ | result stringProperty | stringProperty := (OPUMLXMISpecsStorage metaClassFor: OPUMLProperty new) allAttributes @@ -351,7 +353,7 @@ OPUMLXMIReaderTest >> testIntegerStringValue [ self assert: result equals: '123' ] -{ #category : #'tests - reading - value' } +{ #category : 'tests - reading - value' } OPUMLXMIReaderTest >> testIntegerValue [ | result integerProperty | integerProperty := (OPUMLXMISpecsStorage metaClassFor: OPUMLProperty new) allAttributes @@ -360,7 +362,7 @@ OPUMLXMIReaderTest >> testIntegerValue [ self assert: result equals: 123 ] -{ #category : #tests } +{ #category : 'tests' } OPUMLXMIReaderTest >> testMultipleNestedAttributes [ | result | result := reader readItem: self multipleNestedAttributes property: packagedElementProperty. @@ -370,7 +372,7 @@ OPUMLXMIReaderTest >> testMultipleNestedAttributes [ self assert: result ownedAttributes second name equals: 'body' ] -{ #category : #tests } +{ #category : 'tests' } OPUMLXMIReaderTest >> testNestedComplexElement [ | result | result := reader @@ -382,7 +384,7 @@ OPUMLXMIReaderTest >> testNestedComplexElement [ self assert: result lowerValue value equals: nil ] -{ #category : #tests } +{ #category : 'tests' } OPUMLXMIReaderTest >> testReadBoolean [ | result | result := reader @@ -391,7 +393,7 @@ OPUMLXMIReaderTest >> testReadBoolean [ self assert: result equals: true ] -{ #category : #tests } +{ #category : 'tests' } OPUMLXMIReaderTest >> testReadImportedType [ | result property | property := (self metaClassNamed: #Class) allAttributes @@ -400,7 +402,7 @@ OPUMLXMIReaderTest >> testReadImportedType [ self assert: result type equals: (self metaClassNamed: #Association) ] -{ #category : #tests } +{ #category : 'tests' } OPUMLXMIReaderTest >> testReadPrimitiveType [ | result property | property := (self metaClassNamed: #Class) allAttributes @@ -409,7 +411,7 @@ OPUMLXMIReaderTest >> testReadPrimitiveType [ self assert: result type equals: (self primitiveTypeNamed: #Boolean) ] -{ #category : #tests } +{ #category : 'tests' } OPUMLXMIReaderTest >> testReadSimpleObject [ | element result | element := OPXMIObjectElement new @@ -422,7 +424,7 @@ OPUMLXMIReaderTest >> testReadSimpleObject [ self assert: result body equals: 'CONTENT' ] -{ #category : #tests } +{ #category : 'tests' } OPUMLXMIReaderTest >> testReadTrivialXmi [ | result | result := reader readXmi: self trivialXmi. @@ -430,7 +432,7 @@ OPUMLXMIReaderTest >> testReadTrivialXmi [ self assert: result first umlClassName equals: #Package ] -{ #category : #tests } +{ #category : 'tests' } OPUMLXMIReaderTest >> testReadTrivialishXmi [ | result | result := reader readXmi: self trivialishXmi. @@ -440,7 +442,7 @@ OPUMLXMIReaderTest >> testReadTrivialishXmi [ self assert: result first packagedElements first name equals: 'Activities' ] -{ #category : #tests } +{ #category : 'tests' } OPUMLXMIReaderTest >> testReferenceElement [ | result gen | result := reader @@ -452,7 +454,7 @@ OPUMLXMIReaderTest >> testReferenceElement [ self assert: gen general name equals: 'Element' ] -{ #category : #tests } +{ #category : 'tests' } OPUMLXMIReaderTest >> testUniqueId [ | regular packageImport | regular := OPXMIObjectElement new @@ -467,7 +469,7 @@ OPUMLXMIReaderTest >> testUniqueId [ self assert: (reader uniqueIdOf: packageImport) equals: '_packageImport.1-AAA' ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } OPUMLXMIReaderTest >> trivialXmi [ ^ OPXMIObjectElement new xmiName: 'XMI'; @@ -489,7 +491,7 @@ OPUMLXMIReaderTest >> trivialXmi [ OPXMIValueAttribute xmiName: 'xmi:type' value: 'mofext:Tag'}} ] -{ #category : #'instance creation' } +{ #category : 'instance creation' } OPUMLXMIReaderTest >> trivialishXmi [ ^ OPXMIObjectElement new xmiName: 'XMI'; diff --git a/repository/OP-UML-XMI/OPUMLXMISpecsStorage.class.st b/repository/OP-UML-XMI/OPUMLXMISpecsStorage.class.st index 2b50e0d..135c41b 100644 --- a/repository/OP-UML-XMI/OPUMLXMISpecsStorage.class.st +++ b/repository/OP-UML-XMI/OPUMLXMISpecsStorage.class.st @@ -1,6 +1,6 @@ Class { - #name : #OPUMLXMISpecsStorage, - #superclass : #Object, + #name : 'OPUMLXMISpecsStorage', + #superclass : 'Object', #instVars : [ 'storage' ], @@ -11,10 +11,12 @@ Class { 'PrimitivesMetaModel', 'UmlMetaModel' ], - #category : #'OP-UML-XMI-Utility' + #category : 'OP-UML-XMI-Utility', + #package : 'OP-UML-XMI', + #tag : 'Utility' } -{ #category : #accessing } +{ #category : 'accessing' } OPUMLXMISpecsStorage class >> current [ " Current := nil @@ -22,7 +24,7 @@ OPUMLXMISpecsStorage class >> current [ ^ Current ifNil: [ Current := self new ] ] -{ #category : #accessing } +{ #category : 'accessing' } OPUMLXMISpecsStorage class >> loadMetamodel [ " UmlMetaModel := nil. @@ -49,12 +51,12 @@ OPUMLXMISpecsStorage class >> loadMetamodel [ UmlMetaModel} ] -{ #category : #accessing } +{ #category : 'accessing' } OPUMLXMISpecsStorage class >> metaClassFor: anElement [ ^ self metaClassNamed: anElement umlClassName ] -{ #category : #accessing } +{ #category : 'accessing' } OPUMLXMISpecsStorage class >> metaClassMap [ " MetaClassMap := nil @@ -66,17 +68,17 @@ OPUMLXMISpecsStorage class >> metaClassMap [ thenCollect: [ :each | each name -> each ]) asDictionary ] ] -{ #category : #accessing } +{ #category : 'accessing' } OPUMLXMISpecsStorage class >> metaClassNamed: aClassName [ ^ self metaClassMap at: aClassName ] -{ #category : #accessing } +{ #category : 'accessing' } OPUMLXMISpecsStorage class >> primitiveTypeNamed: aPrimitiveName [ ^ self primitivesMap at: aPrimitiveName ] -{ #category : #accessing } +{ #category : 'accessing' } OPUMLXMISpecsStorage class >> primitivesMap [ " PrimitivesMap := nil @@ -87,7 +89,7 @@ OPUMLXMISpecsStorage class >> primitivesMap [ collect: [ :each | each name -> each ]) asDictionary ] ] -{ #category : #accessing } +{ #category : 'accessing' } OPUMLXMISpecsStorage class >> primitivesMetamodel [ " PrimitivesMetaModel := nil. @@ -98,7 +100,7 @@ OPUMLXMISpecsStorage class >> primitivesMetamodel [ ^ PrimitivesMetaModel ] -{ #category : #actions } +{ #category : 'actions' } OPUMLXMISpecsStorage class >> reset [