MCGOODSRepository.st
author Patrik Svestka <patrik.svestka@gmail.com>
Wed, 14 Nov 2018 12:57:13 +0100
branchjv
changeset 1095 87f223484bc3
parent 905 40c57a0b93f8
permissions -rw-r--r--
Issue #239: Fix all Smalltak/X source files to be in unicode (UTF8 without BOM) and prefixed by "{ Encoding: utf8 }" when any unicode character is present - All source *.st files are now Unicode UTF8 without BOM Files are in two groups (fileOut works this way in Smalltalk/X): - containing a unicode character have "{ Encoding: utf8 }" at the header - ASCII only are without the header
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:''
631
8fa437e40572 category change
Claus Gittinger <cg@exept.de>
parents: 322
diff changeset
     7
	category:'SCM-Monticello-Repositories'
112
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
905
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    11
!MCGOODSRepository class methodsFor:'instance creation'!
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    12
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    13
host: hostname port: portNumber
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    14
	^ self new
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    15
		host: hostname;
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    16
		port: portNumber
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    17
! !
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    18
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    19
!MCGOODSRepository class methodsFor:'queries'!
112
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
creationTemplate
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
	^
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
'MCGOODSRepository
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
	host: ''localhost''
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
	port: 6100'
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
!
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
description
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
	^ 'GOODS'
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
! !
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
905
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    32
!MCGOODSRepository methodsFor:'accessing'!
112
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
description
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
	^ 'goods://', hostname asString, ':', port asString
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
!
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
host: aString
215
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    39
	hostname := aString
112
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
!
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
packages
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
	^ (self root collect: [:ea | ea package]) asSet asSortedCollection
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
port: aNumber
215
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    47
	port := aNumber
905
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    48
! !
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    49
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    50
!MCGOODSRepository methodsFor:'as yet unclassified'!
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    51
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    52
db
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    53
	(connection isNil or: [connection isConnected not]) ifTrue: [
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    54
		connection := Smalltalk at: #KKDatabase ifPresent: [:cl | 
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    55
			cl  onHost:hostname port: port
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    56
		]
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    57
	].
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    58
	^ connection
112
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
!
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
root
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
	self db root ifNil: [self db root: Dictionary new].
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
	^ self db root
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
!
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
versionWithInfo: aVersionInfo ifAbsent: errorBlock
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
	^ self root at: aVersionInfo ifAbsent: errorBlock
905
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    68
! !
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    69
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    70
!MCGOODSRepository methodsFor:'printing & storing'!
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    71
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    72
basicStoreVersion: aVersion
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    73
	self root at: aVersion info put: aVersion.
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    74
	self db commit.
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    75
! !
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    76
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    77
!MCGOODSRepository methodsFor:'queries'!
112
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
versionsAvailableForPackage: aPackage
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
	^ self root asArray select: [:ea | ea package = aPackage] thenCollect: [:ea | ea info]
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
! !
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
!MCGOODSRepository class methodsFor:'documentation'!
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
version
905
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    86
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCGOODSRepository.st,v 1.5 2014-02-12 14:53:36 cg Exp $'
215
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    87
!
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    88
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    89
version_CVS
905
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    90
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCGOODSRepository.st,v 1.5 2014-02-12 14:53:36 cg Exp $'
215
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    91
!
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    92
d7ad7e0646c6 added: #version_CVS
Claus Gittinger <cg@exept.de>
parents: 112
diff changeset
    93
version_SVN
905
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    94
    ^ '$Id: MCGOODSRepository.st,v 1.5 2014-02-12 14:53:36 cg Exp $'
112
1978a5c86334 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
! !
905
40c57a0b93f8 categories
Claus Gittinger <cg@exept.de>
parents: 631
diff changeset
    96