MCRepository.st
author Claus Gittinger <cg@exept.de>
Mon, 26 Oct 2009 16:24:55 +0100
changeset 137 98f158a061a2
parent 106 5d9bfc22f97b
child 210 6948613cd845
permissions -rw-r--r--
more porting (but still unfinished)
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
Object subclass:#MCRepository
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'creationTemplate storeDiffs'
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:'Settings'
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'Monticello-Repositories'
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!MCRepository class methodsFor:'as yet unclassified'!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
allConcreteSubclasses
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
	^ self withAllSubclasses reject: [:ea | ea isAbstract]
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
creationTemplate
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	self subclassResponsibility.
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
description
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
	^ nil
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
fillInTheBlankConfigure
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
	^ self fillInTheBlankConfigure: self creationTemplate
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
			
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
fillInTheBlankConfigure: aTemplateString
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
	| chunk repo |
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
	
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
	aTemplateString ifNil: [ ^ false ].
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
	chunk _ FillInTheBlankMorph 
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
			request: self fillInTheBlankRequest
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
			initialAnswer: aTemplateString
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
			centerAt: Sensor cursorPoint
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
			inWorld: World
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
			onCancelReturn: nil
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
			acceptOnCR: false
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
			answerExtent: 400@120.
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
			
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	chunk 
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
		ifNotNil: [ 
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
			repo _ self readFrom: chunk readStream.
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
			repo creationTemplate: chunk. 
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
	].
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
	^ repo
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
fillInTheBlankRequest
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
	self subclassResponsibility.
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
isAbstract
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
	^ self description isNil
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
morphicConfigure
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
	^ self new
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
new
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
	^ self basicNew initialize
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
! !
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
!MCRepository class methodsFor:'class initialization'!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
initialize
137
98f158a061a2 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 106
diff changeset
    71
        "self initialize"
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
137
98f158a061a2 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 106
diff changeset
    73
    Smalltalk isSmalltalkX ifFalse:[
98f158a061a2 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 106
diff changeset
    74
        ExternalSettings registerClient: self.
98f158a061a2 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 106
diff changeset
    75
    ]
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
! !
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
!MCRepository class methodsFor:'external settings'!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
fetchExternalSettingsIn: aDirectory
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
	"Scan for settings file"
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
	"MCRepository fetchExternalSettingsIn: ExternalSettings preferenceDirectory"
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
	| stream |
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
	(aDirectory fileExists: self settingsFileName)
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
		ifFalse: [^self].
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
	stream _ aDirectory readOnlyFileNamed: self settingsFileName.
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
	stream
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
		ifNotNil: [
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
			[Settings _ ExternalSettings parseServerEntryArgsFrom: stream]
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
				ensure: [stream close]].
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
releaseExternalSettings
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
	Settings := nil.
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
settingsFileName
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
	^ 'mcSettings'
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
! !
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
!MCRepository methodsFor:'as yet unclassified'!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
= other
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
	^ other species = self species and: [other description = self description]
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
alwaysStoreDiffs
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
	^ storeDiffs ifNil: [false]
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
asCreationTemplate
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
	^ self creationTemplate
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
basicStoreVersion: aVersion
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
	self subclassResponsibility
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
closestAncestorVersionFor: anAncestry ifNone: errorBlock
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
	anAncestry breadthFirstAncestorsDo:
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
		[:ancestorInfo |
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
		(self versionWithInfo: ancestorInfo) ifNotNilDo: [:v | ^ v]].
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
	^ errorBlock value
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
creationTemplate
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
	^ creationTemplate
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
creationTemplate: aString
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
	self creationTemplate ifNotNil: [ self error: 'Creation template already set for this MCRepository instance.' ].
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
	
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
	creationTemplate _ aString.
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
description
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
	^ self class name
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
doAlwaysStoreDiffs
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
	storeDiffs _ true
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
doNotAlwaysStoreDiffs
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
	storeDiffs _ false
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
hash
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
	^ self description hash
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
initialize
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
notificationForVersion: aVersion
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
	^ MCVersionNotification version: aVersion repository: self
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
notifyList
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
	^ #()
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
possiblyNewerVersionsOfAnyOf: someVersions
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
	^#()
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
prepareVersionForStorage: aVersion
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
	^ self alwaysStoreDiffs
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
		ifTrue: [aVersion asDiffAgainst:
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
				 (self closestAncestorVersionFor: aVersion info ifNone: [^ aVersion])]
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
		ifFalse: [aVersion]
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
printOn: aStream
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
	super printOn: aStream.
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
	aStream
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
		nextPut: $(;
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
		nextPutAll: self description;
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
		nextPut: $).
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
sendNotificationsForVersion: aVersion
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
	| notification notifyList |
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
	notifyList _ self notifyList.
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
	notifyList isEmpty ifFalse:
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
		[notification _ self notificationForVersion: aVersion.
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
		notifyList do: [:ea | notification notify: ea]]
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
storeVersion: aVersion
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
	self basicStoreVersion: (self prepareVersionForStorage: aVersion).
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
	self sendNotificationsForVersion: aVersion
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
! !
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
!MCRepository methodsFor:'interface'!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
includesVersionNamed: aString
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
	self subclassResponsibility
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
morphicOpen
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
	self morphicOpen: nil
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
morphicOpen: aWorkingCopy
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
	self subclassResponsibility 
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
openAndEditTemplateCopy
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
	^ self class fillInTheBlankConfigure: (self asCreationTemplate ifNil: [^nil])
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
versionWithInfo: aVersionInfo
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
	^ self versionWithInfo: aVersionInfo ifAbsent: [nil]
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
versionWithInfo: aVersionInfo ifAbsent: aBlock
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
	self subclassResponsibility 
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
! !
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
!MCRepository methodsFor:'testing'!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
isValid
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
	^true
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
! !
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
!MCRepository class methodsFor:'documentation'!
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   230
version
137
98f158a061a2 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 106
diff changeset
   231
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCRepository.st,v 1.2 2009-10-26 15:24:55 cg Exp $'
98f158a061a2 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 106
diff changeset
   232
!
98f158a061a2 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 106
diff changeset
   233
98f158a061a2 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 106
diff changeset
   234
version_CVS
98f158a061a2 more porting (but still unfinished)
Claus Gittinger <cg@exept.de>
parents: 106
diff changeset
   235
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCRepository.st,v 1.2 2009-10-26 15:24:55 cg Exp $'
106
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
! !
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
5d9bfc22f97b initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
MCRepository initialize!