MCGOODSRepository.st
author Claus Gittinger <cg@exept.de>
Sat, 20 Aug 2011 14:26:43 +0200
changeset 322 14b7428dde11
parent 215 d7ad7e0646c6
child 631 8fa437e40572
permissions -rw-r--r--
initial checkin
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
112
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"{ Package: 'stx:goodies/monticello' }"
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
MCRepository subclass:#MCGOODSRepository
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
	instanceVariableNames:'hostname port connection'
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
	classVariableNames:''
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
	poolDictionaries:''
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
	category:'Monticello-Repositories'
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
!
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
!MCGOODSRepository class methodsFor:'as yet unclassified'!
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
creationTemplate
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
	^
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
'MCGOODSRepository
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	host: ''localhost''
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	port: 6100'
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
!
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
description
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
	^ 'GOODS'
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
!
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
host: hostname port: portNumber
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
	^ self new
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
		host: hostname;
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
		port: portNumber
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
! !
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
!MCGOODSRepository methodsFor:'as yet unclassified'!
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
basicStoreVersion: aVersion
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
	self root at: aVersion info put: aVersion.
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
	self db commit.
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
!
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
db
215
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    38
	(connection isNil or: [connection isConnected not]) ifTrue: [
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    39
		connection := Smalltalk at: #KKDatabase ifPresent: [:cl | 
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    40
			cl  onHost:hostname port: port
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    41
		]
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    42
	].
112
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	^ connection
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
!
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
description
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
	^ 'goods://', hostname asString, ':', port asString
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
!
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
host: aString
215
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    51
	hostname := aString
112
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
!
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
packages
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
	^ (self root collect: [:ea | ea package]) asSet asSortedCollection
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
!
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
port: aNumber
215
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    59
	port := aNumber
112
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
!
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
root
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
	self db root ifNil: [self db root: Dictionary new].
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
	^ self db root
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
!
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
versionWithInfo: aVersionInfo ifAbsent: errorBlock
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
	^ self root at: aVersionInfo ifAbsent: errorBlock
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
!
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
versionsAvailableForPackage: aPackage
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
	^ self root asArray select: [:ea | ea package = aPackage] thenCollect: [:ea | ea info]
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
! !
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
!MCGOODSRepository class methodsFor:'documentation'!
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
version
322
14b7428dde11 initial checkin
Claus Gittinger <cg@exept.de>
parents: 215
diff changeset
    78
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCGOODSRepository.st,v 1.3 2011-08-20 12:26:43 cg Exp $'
215
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    79
!
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    80
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    81
version_CVS
322
14b7428dde11 initial checkin
Claus Gittinger <cg@exept.de>
parents: 215
diff changeset
    82
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCGOODSRepository.st,v 1.3 2011-08-20 12:26:43 cg Exp $'
215
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    83
!
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    84
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    85
version_SVN
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    86
    ^ '§Id: MCGOODSRepository.st 5 2010-08-29 07:30:29Z vranyj1 §'
112
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
! !