From 78c2b86e95e1bc25f3a7070e50ec8ecd4f2a23a1 Mon Sep 17 00:00:00 2001 From: Bart Debersaques Date: Wed, 28 Jan 2026 13:01:16 +0100 Subject: [PATCH 1/2] fix: proposal to solve "FamixUMLRoassalBackend does not show all relevant associations when displaying CoastersCollector example" as illustrated in https://github.com/moosetechnology/Famix/issues/1070 --- .../RSAbstractUMLClassRenderer.class.st | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/Roassal-UML/RSAbstractUMLClassRenderer.class.st b/src/Roassal-UML/RSAbstractUMLClassRenderer.class.st index d16e22d2..94210347 100644 --- a/src/Roassal-UML/RSAbstractUMLClassRenderer.class.st +++ b/src/Roassal-UML/RSAbstractUMLClassRenderer.class.st @@ -59,6 +59,13 @@ RSAbstractUMLClassRenderer >> applyVLayoutOn: shapes [ self applyLayoutOn: shapes ] +{ #category : 'accessing' } +RSAbstractUMLClassRenderer >> associationShape [ + | shape | + shape := self simpleLineShape. + ^ shape. +] + { #category : 'accessing' } RSAbstractUMLClassRenderer >> classBoxPadding [ ^ padding ifNil: [ padding := self defaultClassBoxPadding ] @@ -219,7 +226,15 @@ RSAbstractUMLClassRenderer >> renderAssociation: aCollection shape: aRSLine [ { #category : 'public' } RSAbstractUMLClassRenderer >> renderAssociations [ self renderAssociation: self modelDescriptor compositions shape: self compositionShape. - self renderAssociation: self modelDescriptor aggregations shape: self aggregationShape + self renderAssociation: self modelDescriptor aggregations shape: self aggregationShape. + self renderAssociation: self modelDescriptor associations shape: self associationShape. +] + +{ #category : 'accessing' } +RSAbstractUMLClassRenderer >> simpleLineShape [ + ^ RSLine new + border: self border; + yourself ] { #category : 'hooks' } From 5e447067f111473df6ae98881c99ec5cfd5fc36d Mon Sep 17 00:00:00 2001 From: Bart Debersaques Date: Fri, 30 Jan 2026 23:41:16 +0100 Subject: [PATCH 2/2] fix: forgot to add and export associations on RSUMLClassDescriptor ; associations is overriden in FamixUMLRoassalDescriptor intention of https://github.com/moosetechnology/Famix/issues/1070); FamixUMLRoassalDescriptor enherits from RSUMLClassDescriptor; intention of https://github.com/moosetechnology/Famix/issues/1070 is to show associations (without cardinality for now); reviewing examples indicate Roassal my not have been intended to represent a Full UML Class Diagram. My intent approaching to visualize a Full UML Class Diagram. I managed to have all tests in "RSUMLClassBuilderTest" and all examples in "RSUMLExamples" except "example08HierarchyPacker" due to "RPackage" being undeclared. --- src/Roassal-UML/RSUMLClassDescriptor.class.st | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/Roassal-UML/RSUMLClassDescriptor.class.st b/src/Roassal-UML/RSUMLClassDescriptor.class.st index 4d633fb4..b5952cce 100644 --- a/src/Roassal-UML/RSUMLClassDescriptor.class.st +++ b/src/Roassal-UML/RSUMLClassDescriptor.class.st @@ -14,7 +14,8 @@ Class { 'methodsLimit', 'aggregations', 'compositions', - 'isAbstract' + 'isAbstract', + 'associations' ], #category : 'Roassal-UML-Descriptor', #package : 'Roassal-UML', @@ -31,6 +32,17 @@ RSUMLClassDescriptor >> aggregations: aCollection [ aggregations := aCollection ] +{ #category : 'accessing' } +RSUMLClassDescriptor >> associations [ + ^ associations +] + +{ #category : 'accessing' } +RSUMLClassDescriptor >> associations: anObject [ + + associations := anObject +] + { #category : 'accessing' } RSUMLClassDescriptor >> classname [ ^ classname