--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/MCOrganizationDefinition.st Wed Nov 22 14:09:41 2006 +0100
@@ -0,0 +1,91 @@
+"{ Package: 'stx:goodies/monticello' }"
+
+MCDefinition subclass:#MCOrganizationDefinition
+ instanceVariableNames:'categories'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Monticello-Modeling'
+!
+
+
+!MCOrganizationDefinition class methodsFor:'as yet unclassified'!
+
+categories: anArray
+ ^ self instanceLike: (self new categories: anArray)
+! !
+
+!MCOrganizationDefinition methodsFor:'as yet unclassified'!
+
+= aDefinition
+ ^ (super = aDefinition)
+ and: [categories = aDefinition categories]
+!
+
+accept: aVisitor
+ ^ aVisitor visitOrganizationDefinition: self
+!
+
+categories
+ ^ categories
+!
+
+categories: anArray
+ categories _ anArray
+!
+
+commonPrefix
+ | stream |
+ categories isEmpty ifTrue: [^ ''].
+
+ stream _ String new writeStream.
+ categories first withIndexDo:
+ [:c :i|
+ categories do:
+ [:ea |
+ (ea at: i ifAbsent: []) = c ifFalse: [^ stream contents]].
+ stream nextPut: c].
+ ^ stream contents
+!
+
+description
+ ^ Array with: #organization with: self commonPrefix
+!
+
+isOrganizationDefinition
+ ^ true
+!
+
+postloadOver: oldDefinition
+ SystemOrganization categories:
+ (self
+ reorderCategories: SystemOrganization categories
+ original: (oldDefinition ifNil: [#()] ifNotNil: [oldDefinition categories]))
+!
+
+reorderCategories: allCategories original: oldCategories
+ | first |
+ first _ allCategories detect: [:ea | categories includes: ea] ifNone: [^ allCategories].
+ ^ ((allCategories copyUpTo: first) copyWithoutAll: oldCategories, categories),
+ categories,
+ ((allCategories copyAfter: first) copyWithoutAll: oldCategories, categories)
+!
+
+sortKey
+ ^ '<organization>'
+!
+
+source
+ ^ String streamContents:
+ [:s |
+ categories do: [:ea | s nextPutAll: ea] separatedBy: [s cr]]
+!
+
+summary
+ ^ categories asArray printString
+! !
+
+!MCOrganizationDefinition class methodsFor:'documentation'!
+
+version
+ ^ '$Header: /cvs/stx/stx/goodies/monticello/MCOrganizationDefinition.st,v 1.1 2006-11-22 13:09:41 cg Exp $'
+! !