11 " |
11 " |
12 "{ Package: 'stx:libtool' }" |
12 "{ Package: 'stx:libtool' }" |
13 |
13 |
14 AbstractSourceCodeManagementSettingsAppl subclass:#DataBaseSourceCodeManagementSettingsAppl |
14 AbstractSourceCodeManagementSettingsAppl subclass:#DataBaseSourceCodeManagementSettingsAppl |
15 instanceVariableNames:'sourceCacheDir listOfModules removeEnabled acceptChannel |
15 instanceVariableNames:'sourceCacheDir listOfModules removeEnabled acceptChannel |
16 pathPerModule verboseSourceCodeAccess repositoryPathHolder |
16 pathPerModule verboseSourceCodeAccess dbNameHolder |
17 perModulePath perModulePathModule selectedPerModulePath |
17 selectedPerModuleDatabase perModuleDatabaseModule perModuleDB |
18 repositoryNameHolder' |
18 dbPerModule' |
19 classVariableNames:'RecentlyUsedCVSRoots RecentlyUsedStoreHosts |
19 classVariableNames:'' |
20 RecentlyUsedSmallTeamHosts LastStoreHost LastStoreUser |
|
21 LastStorePassword' |
|
22 poolDictionaries:'' |
20 poolDictionaries:'' |
23 category:'System-SourceCodeManagement' |
21 category:'System-SourceCodeManagement' |
24 ! |
22 ! |
25 |
23 |
26 !DataBaseSourceCodeManagementSettingsAppl class methodsFor:'documentation'! |
24 !DataBaseSourceCodeManagementSettingsAppl class methodsFor:'documentation'! |
56 defaultTableName |
54 defaultTableName |
57 |
55 |
58 ^ 'stx_versions' |
56 ^ 'stx_versions' |
59 |
57 |
60 "Created: / 21-12-2011 / 23:43:04 / cg" |
58 "Created: / 21-12-2011 / 23:43:04 / cg" |
|
59 ! ! |
|
60 |
|
61 !DataBaseSourceCodeManagementSettingsAppl class methodsFor:'help specs'! |
|
62 |
|
63 flyByHelpSpec |
|
64 "This resource specification was automatically generated |
|
65 by the UIHelpTool of ST/X." |
|
66 |
|
67 "Do not manually edit this!! If it is corrupted, |
|
68 the UIHelpTool may not be able to read the specification." |
|
69 |
|
70 " |
|
71 UIHelpTool openOnClass:DataBaseSourceCodeManagementSettingsAppl |
|
72 " |
|
73 |
|
74 <resource: #help> |
|
75 |
|
76 ^ super flyByHelpSpec addPairsFrom:#( |
|
77 |
|
78 #defaultDBName |
|
79 'Default database; used for all modules which are not listed below' |
|
80 |
|
81 #perModuleDB |
|
82 'Per module database configuration' |
|
83 |
|
84 #perModuleDBModule |
|
85 'The module for which a specific database is defined' |
|
86 |
|
87 #perModuleDBName |
|
88 'Database for the selected module (scheme:[user[.password]@hostname:databaseName[.tableName]' |
|
89 |
|
90 ) |
|
91 |
|
92 "Created: / 25-12-2011 / 13:46:07 / cg" |
61 ! ! |
93 ! ! |
62 |
94 |
63 !DataBaseSourceCodeManagementSettingsAppl class methodsFor:'image specs'! |
95 !DataBaseSourceCodeManagementSettingsAppl class methodsFor:'image specs'! |
64 |
96 |
65 defaultIcon |
97 defaultIcon |
152 (SpecCollection |
184 (SpecCollection |
153 collection: ( |
185 collection: ( |
154 (ViewSpec |
186 (ViewSpec |
155 name: 'Box1' |
187 name: 'Box1' |
156 layout: (LayoutFrame 0 0 0 0 0 1 25 0) |
188 layout: (LayoutFrame 0 0 0 0 0 1 25 0) |
|
189 activeHelpKey: defaultDBName |
157 component: |
190 component: |
158 (SpecCollection |
191 (SpecCollection |
159 collection: ( |
192 collection: ( |
160 (LabelSpec |
193 (LabelSpec |
161 label: 'DB Name:' |
194 label: 'DB Name:' |
162 name: 'Label1' |
195 name: 'Label1' |
163 layout: (LayoutFrame 0 0.0 0 0 60 0.25 22 0) |
196 layout: (LayoutFrame 0 0.0 0 0 60 0.25 22 0) |
|
197 activeHelpKey: defaultDBName |
164 level: 0 |
198 level: 0 |
165 translateLabel: true |
199 translateLabel: true |
166 adjust: right |
200 adjust: right |
167 ) |
201 ) |
168 (InputFieldSpec |
202 (InputFieldSpec |
169 name: 'RepositoryPathField' |
203 name: 'RepositoryPathField' |
170 layout: (LayoutFrame 64 0.25 0 0 0 1 22 0) |
204 layout: (LayoutFrame 64 0.25 0 0 0 1 22 0) |
|
205 activeHelpKey: defaultDBName |
171 tabable: true |
206 tabable: true |
172 model: dbNameHolder |
207 model: dbNameHolder |
173 acceptChannel: acceptChannel |
208 acceptChannel: acceptChannel |
174 acceptOnPointerLeave: true |
209 acceptOnPointerLeave: true |
175 ) |
210 ) |
179 ) |
214 ) |
180 (LabelSpec |
215 (LabelSpec |
181 label: 'DB per Module:' |
216 label: 'DB per Module:' |
182 name: 'knownModulesLabel' |
217 name: 'knownModulesLabel' |
183 layout: (LayoutFrame 0 0.0 82 0 60 0.25 104 0) |
218 layout: (LayoutFrame 0 0.0 82 0 60 0.25 104 0) |
|
219 activeHelpKey: perModuleDB |
184 translateLabel: true |
220 translateLabel: true |
185 adjust: right |
221 adjust: right |
186 ) |
222 ) |
187 (SequenceViewSpec |
223 (SequenceViewSpec |
188 name: 'List1' |
224 name: 'List1' |
189 layout: (LayoutFrame 64 0.25 82 0 0 1 201 0) |
225 layout: (LayoutFrame 64 0.25 82 0 0 1 201 0) |
|
226 activeHelpKey: perModuleDB |
190 tabable: true |
227 tabable: true |
191 model: selectedPerModuleDatabase |
228 model: selectedPerModuleDatabase |
192 hasHorizontalScrollBar: true |
229 hasHorizontalScrollBar: true |
193 hasVerticalScrollBar: true |
230 hasVerticalScrollBar: true |
194 miniScrollerHorizontal: true |
231 miniScrollerHorizontal: true |
197 ) |
234 ) |
198 (LabelSpec |
235 (LabelSpec |
199 label: 'Module:' |
236 label: 'Module:' |
200 name: 'moduleLabel' |
237 name: 'moduleLabel' |
201 layout: (LayoutFrame 0 0.0 211 0 60 0.25 228 0) |
238 layout: (LayoutFrame 0 0.0 211 0 60 0.25 228 0) |
|
239 activeHelpKey: perModuleDBModule |
202 translateLabel: true |
240 translateLabel: true |
203 adjust: right |
241 adjust: right |
204 ) |
242 ) |
205 (InputFieldSpec |
243 (InputFieldSpec |
206 name: 'perModulePathModuleEntryField' |
244 name: 'perModuleDatabaseModuleEntryField' |
207 layout: (LayoutFrame 64 0.25 207 0 0 1 229 0) |
245 layout: (LayoutFrame 64 0.25 207 0 0 1 229 0) |
|
246 activeHelpKey: perModuleDBModule |
208 tabable: true |
247 tabable: true |
209 model: perModulePathModule |
248 model: perModuleDatabaseModule |
210 acceptChannel: acceptChannel |
249 acceptChannel: acceptChannel |
211 acceptOnPointerLeave: true |
250 acceptOnPointerLeave: true |
212 ) |
251 ) |
213 (LabelSpec |
252 (LabelSpec |
214 label: 'DB:' |
253 label: 'DB:' |
215 name: 'cvsRootLabel' |
254 name: 'cvsRootLabel' |
216 layout: (LayoutFrame 0 0.0 236 0 60 0.25 253 0) |
255 layout: (LayoutFrame 0 0.0 236 0 60 0.25 253 0) |
|
256 activeHelpKey: perModuleDBName |
217 translateLabel: true |
257 translateLabel: true |
218 adjust: right |
258 adjust: right |
219 ) |
259 ) |
220 (ComboBoxSpec |
260 (ComboBoxSpec |
221 name: 'perModulePathComboBox' |
261 name: 'perModulePathComboBox' |
222 layout: (LayoutFrame 64 0.25 232 0 0 1.0 254 0) |
262 layout: (LayoutFrame 64 0.25 232 0 0 1.0 254 0) |
|
263 activeHelpKey: perModuleDBName |
223 tabable: true |
264 tabable: true |
224 model: perModuleDB |
265 model: perModuleDB |
225 immediateAccept: true |
266 immediateAccept: true |
226 acceptOnLeave: true |
267 acceptOnLeave: true |
227 acceptOnReturn: true |
268 acceptOnReturn: true |
304 |
345 |
305 addModule:module withData:data |
346 addModule:module withData:data |
306 (self listOfModules includes:module) ifFalse:[ |
347 (self listOfModules includes:module) ifFalse:[ |
307 self listOfModules add:module; sort. |
348 self listOfModules add:module; sort. |
308 ]. |
349 ]. |
309 pathPerModule at:module put:data. |
350 dbPerModule at:module put:data. |
310 |
351 |
311 self updateModifiedChannel. |
352 self updateModifiedChannel. |
312 |
353 |
313 "Created: / 08-11-2006 / 19:25:21 / cg" |
354 "Created: / 08-11-2006 / 19:25:21 / cg" |
314 ! |
355 ! |
315 |
356 |
316 addPerModulePath |
357 addPerModuleDB |
317 |module path| |
358 |module path| |
318 |
359 |
319 acceptChannel value:true. |
360 acceptChannel value:true. |
320 |
361 |
321 module := self perModulePathModule value. |
362 module := self perModuleDatabaseModule value. |
322 path := self perModulePath value. |
363 path := self perModuleDB value. |
323 |
364 |
324 path size > 0 ifTrue:[ |
365 path size > 0 ifTrue:[ |
325 self validateDirectoryExistsAndIsWritable:path. |
366 self validateDirectoryExistsAndIsWritable:path. |
326 self addModule:module withData:(Array with:FileBasedSourceCodeManager with:path). |
367 self addModule:module withData:(Array with:FileBasedSourceCodeManager with:path). |
327 ]. |
368 ]. |
328 |
369 |
329 "Created: / 21-12-2011 / 14:23:10 / cg" |
370 "Created: / 25-12-2011 / 13:18:30 / cg" |
330 ! |
371 ! |
331 |
372 |
332 basicReadSettings |
373 basicReadSettings |
333 |infoPerModule| |
374 |infoPerModule| |
334 |
375 |
335 self initialize. |
376 self initialize. |
336 |
377 |
337 infoPerModule := FileBasedSourceCodeManager repositoryInfoPerModule. |
378 infoPerModule := DataBaseSourceCodeManager repositoryInfoPerModule. |
338 infoPerModule keysAndValuesDo:[:module :info | |
379 infoPerModule keysAndValuesDo:[:module :info | |
339 pathPerModule at:module put:(Array with:FileBasedSourceCodeManager with:info). |
380 dbPerModule at:module put:(Array with:DataBaseSourceCodeManager with:info). |
340 ]. |
381 ]. |
341 |
382 |
342 self repositoryNameHolder value:DataBaseSourceCodeManager repositoryName ? self class defaultRepositoryName. |
383 self dbNameHolder value:DataBaseSourceCodeManager repositoryName ? self class defaultRepositoryName. |
343 |
384 |
344 pathPerModule notNil ifTrue:[ |
385 dbPerModule notNil ifTrue:[ |
345 self listOfModules removeAll. |
386 self listOfModules removeAll. |
346 listOfModules addAll:pathPerModule keys asList. |
387 listOfModules addAll:dbPerModule keys asList. |
347 ]. |
388 ]. |
348 |
389 |
349 "Modified: / 22-12-2011 / 00:15:36 / cg" |
390 "Modified: / 25-12-2011 / 13:21:30 / cg" |
350 ! |
391 ! |
351 |
392 |
352 basicSaveSettings |
393 basicSaveSettings |
353 |infoPerModule modules| |
394 |infoPerModule modules| |
354 |
395 |
355 modules := pathPerModule select:[:entry | entry first == FileBasedSourceCodeManager]. |
396 modules := dbPerModule select:[:entry | entry first == DataBaseSourceCodeManager]. |
356 infoPerModule := Dictionary new. |
397 infoPerModule := Dictionary new. |
357 modules keysAndValuesDo:[:module :entry | |
398 modules keysAndValuesDo:[:module :entry | |
358 entry first == FileBasedSourceCodeManager ifTrue:[ |
399 entry first == DataBaseSourceCodeManager ifTrue:[ |
359 infoPerModule at:module put:(entry second). |
400 infoPerModule at:module put:(entry second). |
360 ]. |
401 ]. |
361 ]. |
402 ]. |
362 FileBasedSourceCodeManager repositoryInfoPerModule:infoPerModule. |
403 DataBaseSourceCodeManager repositoryInfoPerModule:infoPerModule. |
363 |
404 |
364 self acceptChannel value. |
405 self acceptChannel value. |
365 |
406 |
366 "Modified: / 21-12-2011 / 14:27:47 / cg" |
407 "Modified: / 25-12-2011 / 13:21:50 / cg" |
367 ! |
408 ! |
368 |
409 |
369 condenseSourceCache |
410 condenseSourceCache |
370 self withWaitCursorDo:[ AbstractSourceCodeManager condenseSourceCache ]. |
411 self withWaitCursorDo:[ AbstractSourceCodeManager condenseSourceCache ]. |
371 Method flushSourceStreamCache. |
412 Method flushSourceStreamCache. |
377 self withWaitCursorDo:[ AbstractSourceCodeManager flushSourceCache ]. |
418 self withWaitCursorDo:[ AbstractSourceCodeManager flushSourceCache ]. |
378 |
419 |
379 "Modified: / 30-09-2011 / 13:33:47 / cg" |
420 "Modified: / 30-09-2011 / 13:33:47 / cg" |
380 ! |
421 ! |
381 |
422 |
|
423 removePerModuleDB |
|
424 |module| |
|
425 |
|
426 acceptChannel value:true. |
|
427 |
|
428 module := self perModuleDatabaseModule value. |
|
429 self listOfModules remove:module ifAbsent:nil. |
|
430 dbPerModule removeKey:module ifAbsent:nil. |
|
431 self perModuleDatabaseModule value:nil. |
|
432 self perModuleDB value:nil. |
|
433 self updateModifiedChannel. |
|
434 |
|
435 "Created: / 25-12-2011 / 13:19:45 / cg" |
|
436 ! |
|
437 |
382 removePerModulePath |
438 removePerModulePath |
383 |module| |
439 |module| |
384 |
440 |
385 acceptChannel value:true. |
441 acceptChannel value:true. |
386 |
442 |
387 module := self perModulePathModule value. |
443 module := self perModuleDatabaseModule value. |
388 self listOfModules remove:module ifAbsent:nil. |
444 self listOfModules remove:module ifAbsent:nil. |
389 pathPerModule removeKey:module ifAbsent:nil. |
445 dbPerModule removeKey:module ifAbsent:nil. |
390 self perModulePathModule value:nil. |
446 self perModuleDatabaseModule value:nil. |
391 self perModulePath value:nil. |
447 self perModuleDB value:nil. |
392 self updateModifiedChannel. |
448 self updateModifiedChannel. |
393 |
449 |
394 "Created: / 21-12-2011 / 14:26:08 / cg" |
450 "Created: / 21-12-2011 / 14:26:08 / cg" |
395 ! ! |
451 ! ! |
396 |
452 |
402 acceptChannel := TriggerValue new. |
458 acceptChannel := TriggerValue new. |
403 ]. |
459 ]. |
404 ^ acceptChannel. |
460 ^ acceptChannel. |
405 ! |
461 ! |
406 |
462 |
|
463 dbNameHolder |
|
464 |
|
465 dbNameHolder isNil ifTrue:[ |
|
466 dbNameHolder := DataBaseSourceCodeManager defaultRepositoryName asValue. |
|
467 dbNameHolder addDependent:self. |
|
468 ]. |
|
469 ^ dbNameHolder. |
|
470 |
|
471 "Created: / 25-12-2011 / 13:14:17 / cg" |
|
472 ! |
|
473 |
|
474 dbPrototypeList |
|
475 ^ #( |
|
476 'sqlite:repository.db' |
|
477 'odbc:localhost:stxRepository' |
|
478 'sqlite:pathname' |
|
479 'odbc:user.password@host:table' |
|
480 ) |
|
481 |
|
482 "Created: / 25-12-2011 / 13:13:20 / cg" |
|
483 ! |
|
484 |
407 listOfModules |
485 listOfModules |
408 |
486 |
409 listOfModules isNil ifTrue:[ |
487 listOfModules isNil ifTrue:[ |
410 pathPerModule notNil ifTrue:[ |
488 dbPerModule notNil ifTrue:[ |
411 listOfModules := pathPerModule keys asList. |
489 listOfModules := dbPerModule keys asList. |
412 ]. |
490 ]. |
413 listOfModules sort. |
491 listOfModules sort. |
414 listOfModules onChangeSend:#updateModifiedChannel to:self |
492 listOfModules onChangeSend:#updateModifiedChannel to:self |
415 ]. |
493 ]. |
416 ^ listOfModules. |
494 ^ listOfModules. |
417 |
495 |
418 "Modified: / 21-12-2011 / 14:32:59 / cg" |
496 "Modified: / 25-12-2011 / 13:20:13 / cg" |
419 ! |
497 ! |
420 |
498 |
421 pathPrototypeList |
499 perModuleDB |
422 ^ #( |
500 perModuleDB isNil ifTrue:[ |
423 './versions' |
501 perModuleDB := ValueHolder new. |
424 ) |
502 ]. |
425 |
503 ^ perModuleDB. |
426 "Created: / 21-12-2011 / 13:13:05 / cg" |
504 |
427 ! |
505 "Created: / 25-12-2011 / 13:18:55 / cg" |
428 |
506 ! |
429 perModulePath |
507 |
430 perModulePath isNil ifTrue:[ |
508 perModuleDatabaseModule |
431 perModulePath := ValueHolder new. |
509 perModuleDatabaseModule isNil ifTrue:[ |
432 perModulePath addDependent:self. |
510 perModuleDatabaseModule := ValueHolder new. |
433 ]. |
511 ]. |
434 ^ perModulePath. |
512 ^ perModuleDatabaseModule. |
435 |
513 |
436 "Created: / 21-12-2011 / 14:19:03 / cg" |
514 "Created: / 25-12-2011 / 13:16:55 / cg" |
437 ! |
|
438 |
|
439 perModulePathModule |
|
440 perModulePathModule isNil ifTrue:[ |
|
441 perModulePathModule := ValueHolder new. |
|
442 ]. |
|
443 ^ perModulePathModule. |
|
444 |
|
445 "Created: / 21-12-2011 / 14:31:09 / cg" |
|
446 ! |
515 ! |
447 |
516 |
448 removeEnabled |
517 removeEnabled |
449 |
518 |
450 removeEnabled isNil ifTrue:[ |
519 removeEnabled isNil ifTrue:[ |
451 removeEnabled := false asValue. |
520 removeEnabled := false asValue. |
452 ]. |
521 ]. |
453 ^ removeEnabled. |
522 ^ removeEnabled. |
454 ! |
523 ! |
455 |
524 |
456 repositoryNameHolder |
525 selectedPerModuleDatabase |
457 |
526 selectedPerModuleDatabase isNil ifTrue:[ |
458 repositoryNameHolder isNil ifTrue:[ |
527 selectedPerModuleDatabase := ValueHolder new. |
459 repositoryNameHolder := DataBaseSourceCodeManager defaultRepositoryName asValue. |
528 selectedPerModuleDatabase addDependent:self. |
460 repositoryNameHolder addDependent:self. |
529 ]. |
461 ]. |
530 ^ selectedPerModuleDatabase. |
462 ^ repositoryNameHolder. |
531 |
463 |
532 "Created: / 25-12-2011 / 13:15:10 / cg" |
464 "Created: / 22-12-2011 / 00:14:42 / cg" |
|
465 ! |
|
466 |
|
467 repositoryPathHolder |
|
468 |
|
469 repositoryPathHolder isNil ifTrue:[ |
|
470 repositoryPathHolder := './versions' asValue. |
|
471 repositoryPathHolder addDependent:self. |
|
472 ]. |
|
473 ^ repositoryPathHolder. |
|
474 |
|
475 "Created: / 21-12-2011 / 13:11:58 / cg" |
|
476 ! |
|
477 |
|
478 selectedPerModulePath |
|
479 selectedPerModulePath isNil ifTrue:[ |
|
480 selectedPerModulePath := ValueHolder new. |
|
481 selectedPerModulePath addDependent:self. |
|
482 ]. |
|
483 ^ selectedPerModulePath. |
|
484 |
|
485 "Created: / 21-12-2011 / 14:35:37 / cg" |
|
486 ! |
533 ! |
487 |
534 |
488 verboseSourceCodeAccess |
535 verboseSourceCodeAccess |
489 verboseSourceCodeAccess isNil ifTrue:[ |
536 verboseSourceCodeAccess isNil ifTrue:[ |
490 verboseSourceCodeAccess := false asValue. |
537 verboseSourceCodeAccess := false asValue. |
493 ^ verboseSourceCodeAccess. |
540 ^ verboseSourceCodeAccess. |
494 ! ! |
541 ! ! |
495 |
542 |
496 !DataBaseSourceCodeManagementSettingsAppl methodsFor:'change & update'! |
543 !DataBaseSourceCodeManagementSettingsAppl methodsFor:'change & update'! |
497 |
544 |
498 selectedPerModulePathChanged |
545 selectedPerModuleDatabaseChanged |
499 |module entry| |
546 |module entry| |
500 |
547 |
501 self acceptChannel value:true. |
548 self acceptChannel value:true. |
502 |
549 |
503 module := self selectedPerModulePath value. |
550 module := self selectedPerModuleDatabase value. |
504 module isNil ifTrue:[ |
551 module isNil ifTrue:[ |
505 self removeEnabled value:false. |
552 self removeEnabled value:false. |
506 self perModulePathModule value:' '. |
553 self perModuleDatabaseModule value:' '. |
507 self perModulePath value:''. |
554 self perModuleDB value:''. |
508 ^ self |
555 ^ self |
509 ]. |
556 ]. |
510 |
557 |
511 entry := pathPerModule at:module ifAbsent:#(). |
558 entry := dbPerModule at:module ifAbsent:#(). |
512 (entry first = FileBasedSourceCodeManager) ifTrue:[ |
559 (entry first = DataBaseSourceCodeManager) ifTrue:[ |
513 self removeEnabled value:true. |
560 self removeEnabled value:true. |
514 self perModulePathModule value:module. |
561 self perModuleDatabaseModule value:module. |
515 self perModulePath value:(entry at:2). |
562 self perModuleDB value:(entry at:2). |
516 ] ifFalse:[ |
563 ] ifFalse:[ |
517 self removeEnabled value:false. |
564 self removeEnabled value:false. |
518 self perModulePathModule value:module , ' ',('<<use ',entry first managerTypeName,'>>') allBold. |
565 self perModuleDatabaseModule value:module , ' ',('<<use ',entry first managerTypeName,'>>') allBold. |
519 self perModulePath value:''. |
566 self perModuleDB value:''. |
520 ]. |
567 ]. |
521 |
568 |
522 "Created: / 21-12-2011 / 14:35:04 / cg" |
569 "Created: / 25-12-2011 / 13:15:54 / cg" |
523 ! |
570 ! |
524 |
571 |
525 update:something with:aParameter from:changedObject |
572 update:something with:aParameter from:changedObject |
526 changedObject == selectedPerModulePath ifTrue:[ |
573 changedObject == selectedPerModuleDatabase ifTrue:[ |
527 self selectedPerModulePathChanged. |
574 self selectedPerModuleDatabaseChanged. |
528 ^ self |
575 ^ self |
529 ]. |
576 ]. |
530 |
577 |
531 super update:something with:aParameter from:changedObject |
578 super update:something with:aParameter from:changedObject |
532 |
579 |
533 "Modified: / 21-12-2011 / 14:37:54 / cg" |
580 "Modified: / 25-12-2011 / 13:15:36 / cg" |
534 ! |
581 ! |
535 |
582 |
536 validateDirectoryExistsAndIsWritable:aDirectory |
583 validateDirectoryExistsAndIsWritable:aDirectory |
537 |nm fn| |
584 |nm fn| |
538 |
585 |
596 !DataBaseSourceCodeManagementSettingsAppl methodsFor:'initialization & release'! |
643 !DataBaseSourceCodeManagementSettingsAppl methodsFor:'initialization & release'! |
597 |
644 |
598 initialize |
645 initialize |
599 (AbstractSourceCodeManager notNil) ifTrue:[ AbstractSourceCodeManager autoload ]. |
646 (AbstractSourceCodeManager notNil) ifTrue:[ AbstractSourceCodeManager autoload ]. |
600 |
647 |
601 pathPerModule := Dictionary new. |
648 dbPerModule := Dictionary new. |
602 |
649 |
603 FileBasedSourceCodeManager repositoryInfoPerModule |
650 DataBaseSourceCodeManager repositoryInfoPerModule |
604 keysAndValuesDo:[:module :info | |
651 keysAndValuesDo:[:module :info | |
605 module withoutSeparators ~= module ifTrue:[ |
652 module withoutSeparators ~= module ifTrue:[ |
606 self halt:'should not happen any longer' |
653 self halt:'should not happen any longer' |
607 ]. |
654 ]. |
608 pathPerModule at:module put:(Array with:FileBasedSourceCodeManager with:info) |
655 dbPerModule at:module put:(Array with:DataBaseSourceCodeManager with:info) |
609 ]. |
656 ]. |
610 |
657 |
611 super initialize. |
658 super initialize. |
612 |
659 |
613 "Modified: / 21-12-2011 / 23:54:31 / cg" |
660 "Modified: / 25-12-2011 / 13:23:44 / cg" |
614 ! ! |
661 ! ! |
615 |
662 |
616 !DataBaseSourceCodeManagementSettingsAppl methodsFor:'queries'! |
663 !DataBaseSourceCodeManagementSettingsAppl methodsFor:'queries'! |
617 |
664 |
618 cvsRootFromCVSRootFileOrNil |
665 cvsRootFromCVSRootFileOrNil |
629 ! |
676 ! |
630 |
677 |
631 hasUnsavedChanges |
678 hasUnsavedChanges |
632 |modules| |
679 |modules| |
633 |
680 |
634 modules := pathPerModule select:[:entry | entry first == FileBasedSourceCodeManager]. |
681 modules := dbPerModule select:[:entry | entry first == DataBaseSourceCodeManager]. |
635 |
682 |
636 FileBasedSourceCodeManager repositoryInfoPerModule keysAndValuesDo:[:module :info | |
683 DataBaseSourceCodeManager repositoryInfoPerModule keysAndValuesDo:[:module :info | |
637 ((modules includesKey:module) and:[info = (modules at:module) second]) |
684 ((modules includesKey:module) and:[info = (modules at:module) second]) |
638 ifFalse:[^ true]. |
685 ifFalse:[^ true]. |
639 ]. |
686 ]. |
640 modules keysAndValuesDo:[:module :info| |
687 modules keysAndValuesDo:[:module :info| |
641 ((FileBasedSourceCodeManager repositoryInfoPerModule includesKey:module) and:[(FileBasedSourceCodeManager repositoryInfoPerModule at:module) = info second]) |
688 ((DataBaseSourceCodeManager repositoryInfoPerModule includesKey:module) and:[(DataBaseSourceCodeManager repositoryInfoPerModule at:module) = info second]) |
642 ifFalse:[^ true]. |
689 ifFalse:[^ true]. |
643 ]. |
690 ]. |
644 |
691 |
645 ^ false |
692 ^ false |
646 |
693 |
647 "Modified: / 21-12-2011 / 14:33:14 / cg" |
694 "Modified: / 25-12-2011 / 13:24:08 / cg" |
648 ! ! |
695 ! ! |
649 |
696 |
650 !DataBaseSourceCodeManagementSettingsAppl class methodsFor:'documentation'! |
697 !DataBaseSourceCodeManagementSettingsAppl class methodsFor:'documentation'! |
651 |
698 |
652 version |
699 version |
653 ^ '$Header: /cvs/stx/stx/libtool/DataBaseSourceCodeManagementSettingsAppl.st,v 1.1 2011-12-22 13:02:54 cg Exp $' |
700 ^ '$Header: /cvs/stx/stx/libtool/DataBaseSourceCodeManagementSettingsAppl.st,v 1.2 2011-12-25 13:03:34 cg Exp $' |
654 ! |
701 ! |
655 |
702 |
656 version_CVS |
703 version_CVS |
657 ^ '$Header: /cvs/stx/stx/libtool/DataBaseSourceCodeManagementSettingsAppl.st,v 1.1 2011-12-22 13:02:54 cg Exp $' |
704 ^ '$Header: /cvs/stx/stx/libtool/DataBaseSourceCodeManagementSettingsAppl.st,v 1.2 2011-12-25 13:03:34 cg Exp $' |
658 ! ! |
705 ! ! |