MetacelloResolveProjectUpgrade.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Wed, 05 Sep 2012 16:35:54 +0000
changeset 7 759ff40b4754
parent 1 9e312de5f694
permissions -rw-r--r--
- stx_goodies_metacello_stx added: #extensionMethodNames changed: #classNamesAndAttributes #preRequisites
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     1
"{ Package: 'stx:goodies/metacello' }"
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     2
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     3
MetacelloScriptNotification subclass:#MetacelloResolveProjectUpgrade
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     4
	instanceVariableNames:'existingProjectRegistration newProjectRegistration'
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     5
	classVariableNames:''
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     6
	poolDictionaries:''
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     7
	category:'Metacello-Core-Scripts'
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     8
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
     9
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    10
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    11
!MetacelloResolveProjectUpgrade methodsFor:'accessing'!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    12
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    13
existingProjectRegistration
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    14
	^ existingProjectRegistration
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    15
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    16
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    17
existingProjectRegistration: anObject
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    18
	existingProjectRegistration := anObject
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    19
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    20
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    21
newProjectRegistration
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    22
	^ newProjectRegistration
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    23
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    24
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    25
newProjectRegistration: anObject
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    26
	newProjectRegistration := anObject
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    27
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    28
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    29
operationString
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    30
    self subclassResponsibility
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    31
! !
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    32
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    33
!MetacelloResolveProjectUpgrade methodsFor:'exception handling'!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    34
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    35
allow
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    36
    self checkAllowed.
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    37
    self resume: self newProjectRegistration
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    38
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    39
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    40
allowEvenIfLocked
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    41
    self resume: self newProjectRegistration
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    42
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    43
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    44
defaultAction
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    45
    "Result of signal should be the projectRegistration to be used to perform the load ... default is to disallow"
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    46
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    47
    ^ self existingProjectRegistration
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    48
!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    49
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    50
disallow
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    51
    "default action"
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    52
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    53
    self resume: self existingProjectRegistration
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    54
! !
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    55
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    56
!MetacelloResolveProjectUpgrade methodsFor:'handlers'!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    57
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    58
handleOnDownGrade: onDownGradeBlock onUpgrade: onUpgradeBlock
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    59
    self subclassResponsibility
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    60
! !
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    61
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    62
!MetacelloResolveProjectUpgrade methodsFor:'private'!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    63
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    64
checkAllowed
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    65
    self existingProjectRegistration locked
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    66
        ifTrue: [ 
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    67
            MetacelloLockedProjectError
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    68
                signal:
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    69
                    'Attempt to perform' , self operationString printString , ' a locked project: '
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    70
                        , self existingProjectRegistration printString ]
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    71
! !
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    72
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    73
!MetacelloResolveProjectUpgrade class methodsFor:'documentation'!
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    74
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    75
version_SVN
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    76
    ^ '$Id::                                                                                                                        $'
9e312de5f694 - Initial commit
jv
parents:
diff changeset
    77
! !