Skip to content

Commit

Permalink
Reworked serialization extensions and format names
Browse files Browse the repository at this point in the history
  • Loading branch information
JanBliznicenko committed Jul 25, 2024
1 parent 34511e7 commit c74ec96
Show file tree
Hide file tree
Showing 7 changed files with 33 additions and 39 deletions.
5 changes: 0 additions & 5 deletions repository/OpenPonk-Core/OPDiagramSerializer.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,6 @@ OPDiagramSerializer class >> exportSubject [
^ #diagram
]

{ #category : 'accessing' }
OPDiagramSerializer >> formatName [
^ self subclassResponsibility
]

{ #category : 'serialize/materialize' }
OPDiagramSerializer >> materializeDiagramOf: aModel from: aStream [
"materialize aStream into a diagram that will be consumed by your controller"
Expand Down
5 changes: 0 additions & 5 deletions repository/OpenPonk-Core/OPJsonDiagramSerializer.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,6 @@ OPJsonDiagramSerializer class >> minImportVersion [
^ 1
]

{ #category : 'accessing' }
OPJsonDiagramSerializer >> formatName [
^ 'json'
]

{ #category : 'serialize/materialize' }
OPJsonDiagramSerializer >> materializeDiagramOf: aModel from: aStream [

Expand Down
31 changes: 17 additions & 14 deletions repository/OpenPonk-Core/OPMementoDirectorySerializer.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -40,14 +40,15 @@ OPMementoDirectorySerializer >> loadDiagramsOf: aModel from: aFolder [
| materializer |
aFolder exists ifFalse: [ ^ #( ) ].
materializer := aFolder files
detect: [ :any | any basename = OPExportInfo fileName ]
ifFound: [ :exportInfoFile |
detect: [ :any |
any basename = OPExportInfo fileName ]
ifFound: [ :exportInfoFile |
OPSerializer forExportInfoFile: exportInfoFile ]
ifNone: [ OPJsonDiagramSerializer new ].
^ ((aFolder filesMatching: '*.' , materializer formatName) reject: [
:any | any basename = OPExportInfo fileName ]) collect: [
:eachFile |
self loadDiagramOf: aModel from: eachFile by: materializer ]
^ ((aFolder filesMatching: '*.' , materializer fileExtension)
reject: [ :any | any basename = OPExportInfo fileName ])
collect: [ :eachFile |
self loadDiagramOf: aModel from: eachFile by: materializer ]
]

{ #category : 'loading' }
Expand Down Expand Up @@ -75,13 +76,15 @@ OPMementoDirectorySerializer >> loadModelFrom: aFolder [

| modelFile materializer |
materializer := aFolder files
detect: [ :any | any basename = OPExportInfo fileName ]
ifFound: [ :exportInfoFile |
plugin modelSerializerClass forExportInfoFile: exportInfoFile ]
detect: [ :any |
any basename = OPExportInfo fileName ]
ifFound: [ :exportInfoFile |
plugin modelSerializerClass forExportInfoFile:
exportInfoFile ]
ifNone: [ plugin modelSerializerClass new ].
modelFile := aFolder / 'model' , materializer formatName.
modelFile := aFolder / 'model' , materializer fileExtension.
modelFile exists ifFalse: [ ^ nil ].
^ modelFile readStreamDo: [ :stream |
^ modelFile readStreamDo: [ :stream |
materializer materializeModelFrom: stream ]
]

Expand All @@ -92,9 +95,9 @@ OPMementoDirectorySerializer >> saveDiagram: aDiagram to: aFolder index: aNumber
diagramSerializer := OPStonDiagramSerializer new.
(aFolder
/ (aNumber asString , '-' , (aDiagram name ifEmpty: [ 'diagram' ]))
, diagramSerializer formatName)
, diagramSerializer fileExtension)
ensureDelete;
writeStreamDo: [ :stream |
writeStreamDo: [ :stream |
stream nextPutAll: (diagramSerializer serializeDiagram: aDiagram) ]
]

Expand Down Expand Up @@ -133,7 +136,7 @@ OPMementoDirectorySerializer >> saveModelOf: aMemento to: aFolder [
'Saving UUID from method: ' , each uuid asString ].
modelSerializer := plugin modelSerializerClass new.
modelSerializer class saveExportInfoTo: aFolder.
(aFolder / 'model' , modelSerializer formatName)
(aFolder / 'model' , modelSerializer fileExtension)
ensureDelete;
writeStreamDo: [ :stream |
stream nextPutAll: (modelSerializer serializeModel: aMemento model) ]
Expand Down
5 changes: 0 additions & 5 deletions repository/OpenPonk-Core/OPModelSerializer.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,6 @@ OPModelSerializer class >> exportSubject [
^ #model
]

{ #category : 'formatting' }
OPModelSerializer >> formatName [
^ 'model'
]

{ #category : 'serialize/materialize' }
OPModelSerializer >> materializeModelFrom: aStream [
"materialize aStream into a model instance"
Expand Down
16 changes: 16 additions & 0 deletions repository/OpenPonk-Core/OPSerializer.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,12 @@ OPSerializer class >> exportVersion [
^ self subclassResponsibility
]

{ #category : 'accessing' }
OPSerializer class >> fileExtension [

^ self formatName
]

{ #category : 'as yet unclassified' }
OPSerializer class >> forExportInfo: anExportInfo [

Expand Down Expand Up @@ -90,3 +96,13 @@ OPSerializer class >> supportsExportInfo: anExportInfo [
on: SubclassResponsibility
do: [ false ]
]

{ #category : 'accessing' }
OPSerializer >> fileExtension [
^ self class fileExtension
]

{ #category : 'formatting' }
OPSerializer >> formatName [
^ self class formatName
]
5 changes: 0 additions & 5 deletions repository/OpenPonk-Core/OPStonDiagramSerializer.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,6 @@ OPStonDiagramSerializer class >> minImportVersion [
^ 1
]

{ #category : 'accessing' }
OPStonDiagramSerializer >> formatName [
^ 'ston'
]

{ #category : 'serialize/materialize' }
OPStonDiagramSerializer >> materializeDiagramOf: aModel from: aStream [

Expand Down
5 changes: 0 additions & 5 deletions repository/OpenPonk-Core/OPStonModelSerializer.class.st
Original file line number Diff line number Diff line change
Expand Up @@ -31,11 +31,6 @@ OPStonModelSerializer class >> minImportVersion [
^ 1
]

{ #category : 'accessing' }
OPStonModelSerializer >> formatName [
^ 'ston'
]

{ #category : 'serialize/materialize' }
OPStonModelSerializer >> materializeModelFrom: aStream [
^ self stonMaterialize: aStream
Expand Down

0 comments on commit c74ec96

Please sign in to comment.