MCGOODSRepository.st
author Claus Gittinger <cg@exept.de>
Wed, 22 Nov 2006 14:22:33 +0100
changeset 112 1978a5c86334
child 215 d7ad7e0646c6
permissions -rw-r--r--
initial checkin

"{ Package: 'stx:goodies/monticello' }"

MCRepository subclass:#MCGOODSRepository
	instanceVariableNames:'hostname port connection'
	classVariableNames:''
	poolDictionaries:''
	category:'Monticello-Repositories'
!


!MCGOODSRepository class methodsFor:'as yet unclassified'!

creationTemplate
	^
'MCGOODSRepository
	host: ''localhost''
	port: 6100'
!

description
	^ 'GOODS'
!

fillInTheBlankRequest
	^ 'GOODS Repository:'
!

host: hostname port: portNumber
	^ self new
		host: hostname;
		port: portNumber
!

morphicConfigure
	^ self fillInTheBlankConfigure
! !

!MCGOODSRepository methodsFor:'as yet unclassified'!

basicStoreVersion: aVersion
	self root at: aVersion info put: aVersion.
	self db commit.
!

db
	(connection isNil or: [connection isConnected not]) ifTrue: [connection _ KKDatabase onHost:hostname port: port].
	
	^ connection
!

description
	^ 'goods://', hostname asString, ':', port asString
!

host: aString
	hostname _ aString
!

morphicOpen: aWorkingCopy
	(MCRepositoryInspector repository: self workingCopy: aWorkingCopy) show
!

packages
	^ (self root collect: [:ea | ea package]) asSet asSortedCollection
!

port: aNumber
	port _ aNumber
!

root
	self db root ifNil: [self db root: Dictionary new].
	^ self db root
!

versionWithInfo: aVersionInfo ifAbsent: errorBlock
	^ self root at: aVersionInfo ifAbsent: errorBlock
!

versionsAvailableForPackage: aPackage
	^ self root asArray select: [:ea | ea package = aPackage] thenCollect: [:ea | ea info]
! !

!MCGOODSRepository class methodsFor:'documentation'!

version
    ^ '$Header: /cvs/stx/stx/goodies/monticello/MCGOODSRepository.st,v 1.1 2006-11-22 13:22:33 cg Exp $'
! !