MCStXSnapshotTransformation.st
author mawalch
Mon, 08 Aug 2016 20:13:50 +0200
changeset 1010 bac4a6f2690e
parent 866 a474daf5e46c
child 992 f46203ad6470
permissions -rw-r--r--
#OTHER by mawalch Fix ridiculously propagated typo.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
840
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     2
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     3
Object subclass:#MCStXSnapshotTransformation
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     4
	instanceVariableNames:'original transformed'
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     5
	classVariableNames:''
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     6
	poolDictionaries:''
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     7
	category:'SCM-Monticello-St/X Storing'
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     8
!
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
     9
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    10
!MCStXSnapshotTransformation class methodsFor:'documentation'!
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    11
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    12
documentation
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    13
"
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    14
    An abstract superclass to snapshot tranformations. Used to alter MCSnaphot data
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    15
    to hide-out nasty differences between St/X and Squeak/Pharo package model so
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    16
    .mcz can be safely passed to from one environment to another without information
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    17
    loss. 
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    18
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    19
    CAUTION: Tricky.
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    20
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    21
    [author:]
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    22
        Jan Vrany <jan.vrany@fit.cvut.cz>
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    23
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    24
    [instance variables:]
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    25
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    26
    [class variables:]
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    27
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    28
    [see also:]
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    29
        MCStXSnapshotPreWriteTransformation
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    30
        MCStXSnapshotPostReadTransformation
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    31
"
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    32
! !
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    33
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    34
!MCStXSnapshotTransformation class methodsFor:'testing'!
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    35
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    36
isAbstract
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    37
    ^self == MCStXSnapshotTransformation
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    38
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    39
    "Created: / 29-05-2013 / 11:32:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    40
! !
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    41
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    42
!MCStXSnapshotTransformation class methodsFor:'transforming'!
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    43
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    44
transform: anMCSnapshot
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    45
    "Returns a transformed **copy** of the original snapshot"
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    46
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    47
    ^self new transform: anMCSnapshot.
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    48
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    49
    "Created: / 29-05-2013 / 11:36:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    50
! !
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    51
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    52
!MCStXSnapshotTransformation methodsFor:'accessing'!
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    53
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    54
original
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    55
    ^ original
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    56
!
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    57
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    58
transformed
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    59
    ^ transformed
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    60
! !
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    61
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    62
!MCStXSnapshotTransformation methodsFor:'transforming'!
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    63
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    64
transform: anMCSnapshot
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    65
    "Returns a transformed **copy** of the original snapshot"
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    66
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    67
    original := anMCSnapshot.
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    68
    transformed := original copy.
866
a474daf5e46c More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
    69
840
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    70
    "use #copy to allow modifications to definitions collection while
866
a474daf5e46c More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
    71
     transforming."
840
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    72
    transformed definitions copy reverseDo:[:definition|
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    73
        definition accept: self.        
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    74
    ].
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    75
    ^transformed.
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    76
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    77
    "Created: / 29-05-2013 / 11:40:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
866
a474daf5e46c More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
    78
    "Modified: / 31-05-2013 / 00:10:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
840
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    79
! !
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    80
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    81
!MCStXSnapshotTransformation methodsFor:'visiting'!
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    82
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    83
visitClassDefinition: definition
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    84
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    85
    "Modified: / 29-05-2013 / 12:07:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    86
!
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    87
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    88
visitClassTraitDefinition: definition
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    89
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    90
    "Modified: / 29-05-2013 / 12:08:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    91
!
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    92
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    93
visitMetaclassDefinition: definition
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    94
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    95
    "Modified: / 29-05-2013 / 12:08:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    96
!
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    97
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    98
visitMethodDefinition: definition
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
    99
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   100
    "Modified: / 29-05-2013 / 12:08:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   101
!
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   102
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   103
visitOrganizationDefinition: defintion
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   104
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   105
    "Modified: / 29-05-2013 / 12:08:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   106
!
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   107
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   108
visitTraitDefinition: definition
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   109
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   110
    "Modified: / 29-05-2013 / 12:08:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   111
! !
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   112
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   113
!MCStXSnapshotTransformation class methodsFor:'documentation'!
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   114
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   115
version
866
a474daf5e46c More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   116
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCStXSnapshotTransformation.st,v 1.2 2013-05-30 23:35:33 vrany Exp $'
840
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   117
!
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   118
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   119
version_CVS
866
a474daf5e46c More improvements in pre-write transformations.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 840
diff changeset
   120
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCStXSnapshotTransformation.st,v 1.2 2013-05-30 23:35:33 vrany Exp $'
840
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   121
! !
e7735fc824c8 initial checkin
Jan Vrany <jan.vrany@fit.cvut.cz>
parents:
diff changeset
   122