diff --git a/repository/OpenPonk-Core/OPModelObjectReference.class.st b/repository/OpenPonk-Core/OPModelObjectReference.class.st index 1b8b6945..6974af0f 100644 --- a/repository/OpenPonk-Core/OPModelObjectReference.class.st +++ b/repository/OpenPonk-Core/OPModelObjectReference.class.st @@ -22,9 +22,9 @@ OPModelObjectReference >> = otherModelObject [ ] { #category : 'comparing' } -OPModelObjectReference >> modelObjectFrom: aDictionary [ +OPModelObjectReference >> modelObjectFrom: aCollection [ - ^ aDictionary at: uuid + ^ aCollection detect: [ :any | any uuid = uuid ] ] { #category : 'printing' } diff --git a/repository/OpenPonk-Core/OPShape.class.st b/repository/OpenPonk-Core/OPShape.class.st index 0a1658d1..dab3b030 100644 --- a/repository/OpenPonk-Core/OPShape.class.st +++ b/repository/OpenPonk-Core/OPShape.class.st @@ -426,18 +426,18 @@ OPShape >> resizableInteractionTarget [ ] { #category : 'serialization' } -OPShape >> resolveAllModelElements: aDictionary [ +OPShape >> resolveAllModelElements: aCollection [ - self resolveModelElements: aDictionary. + self resolveModelElements: aCollection. self ownedElements do: [ :each | - each resolveAllModelElements: aDictionary ] + each resolveAllModelElements: aCollection ] ] { #category : 'serialization' } -OPShape >> resolveModelElements: aDictionary [ +OPShape >> resolveModelElements: aCollection [ - self modelElements: (self modelElements collect: [ :each | - each modelObjectFrom: aDictionary ]) + self modelElements: (self modelElements collect: [ :each | + each modelObjectFrom: aCollection ]) ] { #category : 'rendering' } diff --git a/repository/OpenPonk-Core/OPStonDiagramSerializer.class.st b/repository/OpenPonk-Core/OPStonDiagramSerializer.class.st index bae45633..9128e152 100644 --- a/repository/OpenPonk-Core/OPStonDiagramSerializer.class.st +++ b/repository/OpenPonk-Core/OPStonDiagramSerializer.class.st @@ -24,28 +24,6 @@ OPStonDiagramSerializer class >> minImportVersion [ ^ 1 ] -{ #category : 'serialize/materialize' } -OPStonDiagramSerializer >> elementsByIdsFrom: elements [ - - SystemNotification signal: 'Elements: ' , elements size asString. - ^ (elements withIndexCollect: [ :each :index | - SystemNotification signal: - 'Processing E ' , index asString , ': ' , each asString. - each uuid -> each. - SystemNotification signal: - 'Processed E ' , index asString , ': ' , each asString ]) - asDictionary -] - -{ #category : 'serialize/materialize' } -OPStonDiagramSerializer >> elementsByIdsOf: aModel [ - - | innerElements allElements | - innerElements := OPNavigatorAdapters new allChildrenFor: aModel. - allElements := innerElements asArray copyWith: aModel. - ^ self elementsByIdsFrom: allElements -] - { #category : 'accessing' } OPStonDiagramSerializer >> formatName [ ^ 'ston' @@ -54,9 +32,11 @@ OPStonDiagramSerializer >> formatName [ { #category : 'serialize/materialize' } OPStonDiagramSerializer >> materializeDiagramOf: aModel from: aStream [ - | diagram | + | diagram innerElements | diagram := STON fromStream: aStream. - diagram resolveAllModelElements: (self elementsByIdsOf: aModel). + innerElements := OPNavigatorAdapters new allChildrenFor: aModel. + diagram resolveAllModelElements: + (innerElements asArray copyWith: aModel). ^ diagram ]