--- a/DataBaseSourceCodeManagementSettingsAppl.st Sun Dec 25 11:38:22 2011 +0100
+++ b/DataBaseSourceCodeManagementSettingsAppl.st Sun Dec 25 14:03:34 2011 +0100
@@ -13,12 +13,10 @@
AbstractSourceCodeManagementSettingsAppl subclass:#DataBaseSourceCodeManagementSettingsAppl
instanceVariableNames:'sourceCacheDir listOfModules removeEnabled acceptChannel
- pathPerModule verboseSourceCodeAccess repositoryPathHolder
- perModulePath perModulePathModule selectedPerModulePath
- repositoryNameHolder'
- classVariableNames:'RecentlyUsedCVSRoots RecentlyUsedStoreHosts
- RecentlyUsedSmallTeamHosts LastStoreHost LastStoreUser
- LastStorePassword'
+ pathPerModule verboseSourceCodeAccess dbNameHolder
+ selectedPerModuleDatabase perModuleDatabaseModule perModuleDB
+ dbPerModule'
+ classVariableNames:''
poolDictionaries:''
category:'System-SourceCodeManagement'
!
@@ -60,6 +58,40 @@
"Created: / 21-12-2011 / 23:43:04 / cg"
! !
+!DataBaseSourceCodeManagementSettingsAppl class methodsFor:'help specs'!
+
+flyByHelpSpec
+ "This resource specification was automatically generated
+ by the UIHelpTool of ST/X."
+
+ "Do not manually edit this!! If it is corrupted,
+ the UIHelpTool may not be able to read the specification."
+
+ "
+ UIHelpTool openOnClass:DataBaseSourceCodeManagementSettingsAppl
+ "
+
+ <resource: #help>
+
+ ^ super flyByHelpSpec addPairsFrom:#(
+
+#defaultDBName
+'Default database; used for all modules which are not listed below'
+
+#perModuleDB
+'Per module database configuration'
+
+#perModuleDBModule
+'The module for which a specific database is defined'
+
+#perModuleDBName
+'Database for the selected module (scheme:[user[.password]@hostname:databaseName[.tableName]'
+
+)
+
+ "Created: / 25-12-2011 / 13:46:07 / cg"
+! !
+
!DataBaseSourceCodeManagementSettingsAppl class methodsFor:'image specs'!
defaultIcon
@@ -154,6 +186,7 @@
(ViewSpec
name: 'Box1'
layout: (LayoutFrame 0 0 0 0 0 1 25 0)
+ activeHelpKey: defaultDBName
component:
(SpecCollection
collection: (
@@ -161,6 +194,7 @@
label: 'DB Name:'
name: 'Label1'
layout: (LayoutFrame 0 0.0 0 0 60 0.25 22 0)
+ activeHelpKey: defaultDBName
level: 0
translateLabel: true
adjust: right
@@ -168,6 +202,7 @@
(InputFieldSpec
name: 'RepositoryPathField'
layout: (LayoutFrame 64 0.25 0 0 0 1 22 0)
+ activeHelpKey: defaultDBName
tabable: true
model: dbNameHolder
acceptChannel: acceptChannel
@@ -181,12 +216,14 @@
label: 'DB per Module:'
name: 'knownModulesLabel'
layout: (LayoutFrame 0 0.0 82 0 60 0.25 104 0)
+ activeHelpKey: perModuleDB
translateLabel: true
adjust: right
)
(SequenceViewSpec
name: 'List1'
layout: (LayoutFrame 64 0.25 82 0 0 1 201 0)
+ activeHelpKey: perModuleDB
tabable: true
model: selectedPerModuleDatabase
hasHorizontalScrollBar: true
@@ -199,14 +236,16 @@
label: 'Module:'
name: 'moduleLabel'
layout: (LayoutFrame 0 0.0 211 0 60 0.25 228 0)
+ activeHelpKey: perModuleDBModule
translateLabel: true
adjust: right
)
(InputFieldSpec
- name: 'perModulePathModuleEntryField'
+ name: 'perModuleDatabaseModuleEntryField'
layout: (LayoutFrame 64 0.25 207 0 0 1 229 0)
+ activeHelpKey: perModuleDBModule
tabable: true
- model: perModulePathModule
+ model: perModuleDatabaseModule
acceptChannel: acceptChannel
acceptOnPointerLeave: true
)
@@ -214,12 +253,14 @@
label: 'DB:'
name: 'cvsRootLabel'
layout: (LayoutFrame 0 0.0 236 0 60 0.25 253 0)
+ activeHelpKey: perModuleDBName
translateLabel: true
adjust: right
)
(ComboBoxSpec
name: 'perModulePathComboBox'
layout: (LayoutFrame 64 0.25 232 0 0 1.0 254 0)
+ activeHelpKey: perModuleDBName
tabable: true
model: perModuleDB
immediateAccept: true
@@ -246,7 +287,7 @@
name: 'addButton'
translateLabel: true
tabable: true
- model: addPerModulePath
+ model: addPerModuleDB
extent: (Point 130 22)
)
(ActionButtonSpec
@@ -254,7 +295,7 @@
name: 'removeButton'
translateLabel: true
tabable: true
- model: removePerModulePath
+ model: removePerModuleDB
enableChannel: removeEnabled
extent: (Point 131 22)
)
@@ -306,27 +347,27 @@
(self listOfModules includes:module) ifFalse:[
self listOfModules add:module; sort.
].
- pathPerModule at:module put:data.
+ dbPerModule at:module put:data.
self updateModifiedChannel.
"Created: / 08-11-2006 / 19:25:21 / cg"
!
-addPerModulePath
+addPerModuleDB
|module path|
acceptChannel value:true.
- module := self perModulePathModule value.
- path := self perModulePath value.
+ module := self perModuleDatabaseModule value.
+ path := self perModuleDB value.
path size > 0 ifTrue:[
self validateDirectoryExistsAndIsWritable:path.
self addModule:module withData:(Array with:FileBasedSourceCodeManager with:path).
].
- "Created: / 21-12-2011 / 14:23:10 / cg"
+ "Created: / 25-12-2011 / 13:18:30 / cg"
!
basicReadSettings
@@ -334,36 +375,36 @@
self initialize.
- infoPerModule := FileBasedSourceCodeManager repositoryInfoPerModule.
+ infoPerModule := DataBaseSourceCodeManager repositoryInfoPerModule.
infoPerModule keysAndValuesDo:[:module :info |
- pathPerModule at:module put:(Array with:FileBasedSourceCodeManager with:info).
+ dbPerModule at:module put:(Array with:DataBaseSourceCodeManager with:info).
].
- self repositoryNameHolder value:DataBaseSourceCodeManager repositoryName ? self class defaultRepositoryName.
+ self dbNameHolder value:DataBaseSourceCodeManager repositoryName ? self class defaultRepositoryName.
- pathPerModule notNil ifTrue:[
+ dbPerModule notNil ifTrue:[
self listOfModules removeAll.
- listOfModules addAll:pathPerModule keys asList.
+ listOfModules addAll:dbPerModule keys asList.
].
- "Modified: / 22-12-2011 / 00:15:36 / cg"
+ "Modified: / 25-12-2011 / 13:21:30 / cg"
!
basicSaveSettings
|infoPerModule modules|
- modules := pathPerModule select:[:entry | entry first == FileBasedSourceCodeManager].
+ modules := dbPerModule select:[:entry | entry first == DataBaseSourceCodeManager].
infoPerModule := Dictionary new.
modules keysAndValuesDo:[:module :entry |
- entry first == FileBasedSourceCodeManager ifTrue:[
+ entry first == DataBaseSourceCodeManager ifTrue:[
infoPerModule at:module put:(entry second).
].
].
- FileBasedSourceCodeManager repositoryInfoPerModule:infoPerModule.
+ DataBaseSourceCodeManager repositoryInfoPerModule:infoPerModule.
self acceptChannel value.
- "Modified: / 21-12-2011 / 14:27:47 / cg"
+ "Modified: / 25-12-2011 / 13:21:50 / cg"
!
condenseSourceCache
@@ -379,16 +420,31 @@
"Modified: / 30-09-2011 / 13:33:47 / cg"
!
+removePerModuleDB
+ |module|
+
+ acceptChannel value:true.
+
+ module := self perModuleDatabaseModule value.
+ self listOfModules remove:module ifAbsent:nil.
+ dbPerModule removeKey:module ifAbsent:nil.
+ self perModuleDatabaseModule value:nil.
+ self perModuleDB value:nil.
+ self updateModifiedChannel.
+
+ "Created: / 25-12-2011 / 13:19:45 / cg"
+!
+
removePerModulePath
|module|
acceptChannel value:true.
- module := self perModulePathModule value.
+ module := self perModuleDatabaseModule value.
self listOfModules remove:module ifAbsent:nil.
- pathPerModule removeKey:module ifAbsent:nil.
- self perModulePathModule value:nil.
- self perModulePath value:nil.
+ dbPerModule removeKey:module ifAbsent:nil.
+ self perModuleDatabaseModule value:nil.
+ self perModuleDB value:nil.
self updateModifiedChannel.
"Created: / 21-12-2011 / 14:26:08 / cg"
@@ -404,45 +460,58 @@
^ acceptChannel.
!
+dbNameHolder
+
+ dbNameHolder isNil ifTrue:[
+ dbNameHolder := DataBaseSourceCodeManager defaultRepositoryName asValue.
+ dbNameHolder addDependent:self.
+ ].
+ ^ dbNameHolder.
+
+ "Created: / 25-12-2011 / 13:14:17 / cg"
+!
+
+dbPrototypeList
+ ^ #(
+ 'sqlite:repository.db'
+ 'odbc:localhost:stxRepository'
+ 'sqlite:pathname'
+ 'odbc:user.password@host:table'
+ )
+
+ "Created: / 25-12-2011 / 13:13:20 / cg"
+!
+
listOfModules
listOfModules isNil ifTrue:[
- pathPerModule notNil ifTrue:[
- listOfModules := pathPerModule keys asList.
+ dbPerModule notNil ifTrue:[
+ listOfModules := dbPerModule keys asList.
].
listOfModules sort.
listOfModules onChangeSend:#updateModifiedChannel to:self
].
^ listOfModules.
- "Modified: / 21-12-2011 / 14:32:59 / cg"
-!
-
-pathPrototypeList
- ^ #(
- './versions'
- )
-
- "Created: / 21-12-2011 / 13:13:05 / cg"
+ "Modified: / 25-12-2011 / 13:20:13 / cg"
!
-perModulePath
- perModulePath isNil ifTrue:[
- perModulePath := ValueHolder new.
- perModulePath addDependent:self.
+perModuleDB
+ perModuleDB isNil ifTrue:[
+ perModuleDB := ValueHolder new.
].
- ^ perModulePath.
+ ^ perModuleDB.
- "Created: / 21-12-2011 / 14:19:03 / cg"
+ "Created: / 25-12-2011 / 13:18:55 / cg"
!
-perModulePathModule
- perModulePathModule isNil ifTrue:[
- perModulePathModule := ValueHolder new.
+perModuleDatabaseModule
+ perModuleDatabaseModule isNil ifTrue:[
+ perModuleDatabaseModule := ValueHolder new.
].
- ^ perModulePathModule.
+ ^ perModuleDatabaseModule.
- "Created: / 21-12-2011 / 14:31:09 / cg"
+ "Created: / 25-12-2011 / 13:16:55 / cg"
!
removeEnabled
@@ -453,36 +522,14 @@
^ removeEnabled.
!
-repositoryNameHolder
-
- repositoryNameHolder isNil ifTrue:[
- repositoryNameHolder := DataBaseSourceCodeManager defaultRepositoryName asValue.
- repositoryNameHolder addDependent:self.
+selectedPerModuleDatabase
+ selectedPerModuleDatabase isNil ifTrue:[
+ selectedPerModuleDatabase := ValueHolder new.
+ selectedPerModuleDatabase addDependent:self.
].
- ^ repositoryNameHolder.
-
- "Created: / 22-12-2011 / 00:14:42 / cg"
-!
-
-repositoryPathHolder
+ ^ selectedPerModuleDatabase.
- repositoryPathHolder isNil ifTrue:[
- repositoryPathHolder := './versions' asValue.
- repositoryPathHolder addDependent:self.
- ].
- ^ repositoryPathHolder.
-
- "Created: / 21-12-2011 / 13:11:58 / cg"
-!
-
-selectedPerModulePath
- selectedPerModulePath isNil ifTrue:[
- selectedPerModulePath := ValueHolder new.
- selectedPerModulePath addDependent:self.
- ].
- ^ selectedPerModulePath.
-
- "Created: / 21-12-2011 / 14:35:37 / cg"
+ "Created: / 25-12-2011 / 13:15:10 / cg"
!
verboseSourceCodeAccess
@@ -495,42 +542,42 @@
!DataBaseSourceCodeManagementSettingsAppl methodsFor:'change & update'!
-selectedPerModulePathChanged
+selectedPerModuleDatabaseChanged
|module entry|
self acceptChannel value:true.
- module := self selectedPerModulePath value.
+ module := self selectedPerModuleDatabase value.
module isNil ifTrue:[
self removeEnabled value:false.
- self perModulePathModule value:' '.
- self perModulePath value:''.
+ self perModuleDatabaseModule value:' '.
+ self perModuleDB value:''.
^ self
].
- entry := pathPerModule at:module ifAbsent:#().
- (entry first = FileBasedSourceCodeManager) ifTrue:[
+ entry := dbPerModule at:module ifAbsent:#().
+ (entry first = DataBaseSourceCodeManager) ifTrue:[
self removeEnabled value:true.
- self perModulePathModule value:module.
- self perModulePath value:(entry at:2).
+ self perModuleDatabaseModule value:module.
+ self perModuleDB value:(entry at:2).
] ifFalse:[
self removeEnabled value:false.
- self perModulePathModule value:module , ' ',('<<use ',entry first managerTypeName,'>>') allBold.
- self perModulePath value:''.
+ self perModuleDatabaseModule value:module , ' ',('<<use ',entry first managerTypeName,'>>') allBold.
+ self perModuleDB value:''.
].
- "Created: / 21-12-2011 / 14:35:04 / cg"
+ "Created: / 25-12-2011 / 13:15:54 / cg"
!
update:something with:aParameter from:changedObject
- changedObject == selectedPerModulePath ifTrue:[
- self selectedPerModulePathChanged.
+ changedObject == selectedPerModuleDatabase ifTrue:[
+ self selectedPerModuleDatabaseChanged.
^ self
].
super update:something with:aParameter from:changedObject
- "Modified: / 21-12-2011 / 14:37:54 / cg"
+ "Modified: / 25-12-2011 / 13:15:36 / cg"
!
validateDirectoryExistsAndIsWritable:aDirectory
@@ -598,19 +645,19 @@
initialize
(AbstractSourceCodeManager notNil) ifTrue:[ AbstractSourceCodeManager autoload ].
- pathPerModule := Dictionary new.
+ dbPerModule := Dictionary new.
- FileBasedSourceCodeManager repositoryInfoPerModule
+ DataBaseSourceCodeManager repositoryInfoPerModule
keysAndValuesDo:[:module :info |
module withoutSeparators ~= module ifTrue:[
self halt:'should not happen any longer'
].
- pathPerModule at:module put:(Array with:FileBasedSourceCodeManager with:info)
+ dbPerModule at:module put:(Array with:DataBaseSourceCodeManager with:info)
].
super initialize.
- "Modified: / 21-12-2011 / 23:54:31 / cg"
+ "Modified: / 25-12-2011 / 13:23:44 / cg"
! !
!DataBaseSourceCodeManagementSettingsAppl methodsFor:'queries'!
@@ -631,28 +678,28 @@
hasUnsavedChanges
|modules|
- modules := pathPerModule select:[:entry | entry first == FileBasedSourceCodeManager].
+ modules := dbPerModule select:[:entry | entry first == DataBaseSourceCodeManager].
- FileBasedSourceCodeManager repositoryInfoPerModule keysAndValuesDo:[:module :info |
+ DataBaseSourceCodeManager repositoryInfoPerModule keysAndValuesDo:[:module :info |
((modules includesKey:module) and:[info = (modules at:module) second])
ifFalse:[^ true].
].
modules keysAndValuesDo:[:module :info|
- ((FileBasedSourceCodeManager repositoryInfoPerModule includesKey:module) and:[(FileBasedSourceCodeManager repositoryInfoPerModule at:module) = info second])
+ ((DataBaseSourceCodeManager repositoryInfoPerModule includesKey:module) and:[(DataBaseSourceCodeManager repositoryInfoPerModule at:module) = info second])
ifFalse:[^ true].
].
^ false
- "Modified: / 21-12-2011 / 14:33:14 / cg"
+ "Modified: / 25-12-2011 / 13:24:08 / cg"
! !
!DataBaseSourceCodeManagementSettingsAppl class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/DataBaseSourceCodeManagementSettingsAppl.st,v 1.1 2011-12-22 13:02:54 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/DataBaseSourceCodeManagementSettingsAppl.st,v 1.2 2011-12-25 13:03:34 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/DataBaseSourceCodeManagementSettingsAppl.st,v 1.1 2011-12-22 13:02:54 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/DataBaseSourceCodeManagementSettingsAppl.st,v 1.2 2011-12-25 13:03:34 cg Exp $'
! !