A new version of DeltaStreams-Logging was added to project DeltaStreams: http://www.squeaksource.com/DeltaStreams/DeltaStreams-Logging-gk.6.mcz
==================== Summary ====================
Name: DeltaStreams-Logging-gk.6 Author: gk Time: 4 September 2009, 8:54:13 am UUID: 08b08833-0a64-4cff-b111-2fa251e05122 Ancestors: DeltaStreams-Logging-gk.5
Lots of changes, refactoring and more green tests.
=============== Diff against DeltaStreams-Logging-gk.5 ===============
Item was changed: ----- Method: DSDelta>>logSharedPoolsChangedEvent: (in category '*deltastreams-logging') ----- + logSharedPoolsChangedEvent: event - logSharedPoolsChangedEvent: anEvent "Shared pools changed."
+ (self addClassChange: DSSharedPoolVarsChange from: event) + oldVars: event oldItem poolDictionaryNames! - self addChange: (DSSharedPoolVarsChange fromEvent: anEvent)!
Item was changed: ----- Method: DSDelta>>logClassTypeChangedEvent: (in category '*deltastreams-logging') ----- + logClassTypeChangedEvent: event - logClassTypeChangedEvent: anEvent "Type of class changed."
+ (self addClassChange: DSClassTypeChange from: event) + oldType: event oldTypeOfClass! - self addChange: (DSClassTypeChange fromEvent: anEvent)!
Item was added: + ----- Method: DSDelta>>logMethodProtocolEvent:oldProtocol:newProtocol: (in category '*deltastreams-logging') ----- + logMethodProtocolEvent: anEvent oldProtocol: oldProtocol newProtocol: newProtocol + "A method is being categorized under a new protocol." + + (self addMethodChange: DSMethodProtocolChange from: anEvent) + newProtocol: newProtocol; "this is also odd, thought this was done in previous line" + oldProtocol: oldProtocol!
Item was changed: ----- Method: DSDelta>>logClassCategoryChangedEvent: (in category '*deltastreams-logging') ----- + logClassCategoryChangedEvent: event - logClassCategoryChangedEvent: anEvent "Class Category changed."
+ (self addClassChange: DSClassCategoryChange from: event) + oldCategory: event oldCategory! - self addChange: (DSClassCategoryChange fromEvent: anEvent)!
Item was changed: ----- Method: DSDelta>>logClassVarsChangedEvent: (in category '*deltastreams-logging') ----- + logClassVarsChangedEvent: event - logClassVarsChangedEvent: anEvent "Class vars changed."
+ (self addClassChange: DSClassVarsChange from: event) + oldVars: event oldClassVarNames! - self addChange: (DSClassVarsChange fromEvent: anEvent)!
Item was changed: ----- Method: DSDelta>>logClassRemovedEvent: (in category '*deltastreams-logging') ----- + logClassRemovedEvent: event + "A class was removed from the system." - logClassRemovedEvent: anEvent - "A class was removed from the system"
+ | class metaclass | + class := event itemClass theNonMetaClass. + metaclass := event itemClass theMetaClass. + (class selectors isEmpty and: [metaclass selectors isEmpty]) + ifTrue: [ ^ self addClassChange: DSClassRemovedChange from: event] + ifFalse: [ ^ self add: (DSCompositeClassDeletedChange fromClass: class) ] + ! - self addChange: (DSClassRemovedChange fromEvent: anEvent)!
Item was changed: ----- Method: DSDelta>>logMethodRemovedEvent: (in category '*deltastreams-logging') ----- logMethodRemovedEvent: anEvent + "A method was removed." - "A new method was created."
+ self addMethodChange: DSMethodRemovedChange from: anEvent! - self addChange: (DSMethodRemovedChange fromEvent: anEvent)!
Item was added: + ----- Method: DSDelta>>stopLogging (in category '*deltastreams-logging') ----- + stopLogging + "Make this Delta stop logging system changes. + ChangeSets only have one that is logging." + + self isLogging ifTrue: [ + SystemChangeNotifier uniqueInstance noMoreNotificationsFor: self]!
Item was changed: ----- Method: DSDelta>>logMethodModifyEvent: (in category '*deltastreams-logging') ----- logMethodModifyEvent: anEvent + "A method was modified, also log a protocol change if needed." + anEvent isProtocolModified ifTrue: + [self logMethodProtocolEvent: anEvent oldProtocol: anEvent oldProtocol newProtocol: anEvent newProtocol]. + self logMethodSourceEvent: anEvent oldMethod: anEvent oldItem! - [self logMethodProtocolEvent: anEvent from: anEvent oldProtocol to: anEvent newProtocol]. - self logMethodSourceEvent: anEvent from: anEvent oldItem to: anEvent item!
Item was added: + ----- Method: DSDelta>>startLogging (in category '*deltastreams-logging') ----- + startLogging + "Make this Delta start logging system changes. + ChangeSets only have one that is logging." + + self isLogging ifFalse: [ + SystemChangeNotifier uniqueInstance + notify: self + ofAllSystemChangesUsing: #event:]!
Item was changed: ----- Method: DSDelta>>event: (in category '*deltastreams-logging') ----- event: anEvent "This is where events come in from the SystemChangeNotifier. This code is similar to the old code in ChangeSet."
| class | anEvent itemKind = SystemChangeNotifier classKind ifTrue: [ class := anEvent item. class isBehavior ifFalse: [^ self]. "Ignore traits for now" class wantsChangeSetLogging ifFalse: [^self]. anEvent isAdded ifTrue: [self logClassCreatedEvent: anEvent]. anEvent isRemoved ifTrue: [self logClassRemovedEvent: anEvent]. anEvent isRenamed ifTrue: [self logClassRenamedEvent: anEvent]. + anEvent isCommented ifTrue: [self logClassCommentChangedEvent: anEvent]. - anEvent isCommented ifTrue: [self logClassCommentedEvent: anEvent]. anEvent isModified ifTrue: [class isMeta ifTrue: [self modifyMetaclass: class event: anEvent] ifFalse: [self modifyClass: class event: anEvent]]. anEvent isReorganized ifTrue: [self reorganizeClass: anEvent item]. anEvent isRecategorized ifTrue: [self logClassCategoryChangedEvent: anEvent]. ].
anEvent itemKind = SystemChangeNotifier methodKind ifTrue: [ class := anEvent itemClass. class isBehavior ifFalse: [^ self]. "Ignore traits for now" class wantsChangeSetLogging ifFalse: [^self]. anEvent isAdded ifTrue: [self logMethodAddedEvent: anEvent]. anEvent isRemoved ifTrue: [self logMethodRemovedEvent: anEvent]. + anEvent isRecategorized ifTrue: [self logMethodProtocolEvent: anEvent oldProtocol: anEvent oldCategory newProtocol: anEvent itemProtocol ]. - anEvent isRecategorized ifTrue: [self logMethodProtocolEvent: anEvent from: anEvent oldCategory to: anEvent itemProtocol]. anEvent isModified ifTrue: [self logMethodModifyEvent: anEvent]. ].!
Item was added: + ----- Method: DSDelta>>isLogging (in category '*deltastreams-logging') ----- + isLogging + "Is this Delta logging system changes?" + + ^SystemChangeNotifier uniqueInstance hasNotificationsFor: self!
Item was changed: ----- Method: DSDelta>>modifyMetaclass:event: (in category '*deltastreams-logging') ----- modifyMetaclass: class event: anEvent + "A metaclass definition was modified. This basically just means + the class instance variables were changed." - "A metaclass definition was modified. This basicly just means the class instance variables were changed"
anEvent areInstVarsModified ifTrue: [self logClassInstVarsChangedEvent: anEvent]!
Item was added: + ----- Method: DSDelta>>logMethodSourceEvent:oldMethod: (in category '*deltastreams-logging') ----- + logMethodSourceEvent: anEvent oldMethod: oldMethod + "A method has new source." + + (self addMethodChange: DSMethodSourceChange from: anEvent) + oldSource: oldMethod getSource asString; + oldStamp: oldMethod timeStamp!
Item was changed: ----- Method: DSDelta>>logInstVarsChangedEvent: (in category '*deltastreams-logging') ----- + logInstVarsChangedEvent: event - logInstVarsChangedEvent: anEvent "Instvars changed."
+ (self addClassChange: DSInstVarsChange from: event) + oldVars: event oldInstVarNames! - self addChange: (DSInstVarsChange fromEvent: anEvent)!
Item was added: + ----- Method: DSDelta>>logClassCommentChangedEvent: (in category '*deltastreams-logging') ----- + logClassCommentChangedEvent: event + "A class comment has been changed." + + (self addClassChange: DSClassCommentChange from: event) + oldComment: event oldComment stamp: event oldStamp!
Item was changed: ----- Method: DSDelta>>logSuperclassChangedEvent: (in category '*deltastreams-logging') ----- + logSuperclassChangedEvent: event - logSuperclassChangedEvent: anEvent "Superclass changed."
+ (self addClassChange: DSClassSuperclassChange from: event) + oldSuperclassName: event oldSuperclass name! - self addChange: (DSClassSuperclassChange fromEvent: anEvent)!
Item was changed: ----- Method: DSDelta>>logClassInstVarsChangedEvent: (in category '*deltastreams-logging') ----- + logClassInstVarsChangedEvent: event - logClassInstVarsChangedEvent: anEvent "Instvars changed."
+ (self addClassChange: DSClassInstVarsChange from: event) + oldVars: event oldInstVarNames! - self addChange: (DSClassInstVarsChange fromEvent: anEvent)!
Item was changed: ----- Method: DSDelta>>logClassRenamedEvent: (in category '*deltastreams-logging') ----- + logClassRenamedEvent: event - logClassRenamedEvent: anEvent "A class is being renamed."
+ (self addClassChange: DSClassNameChange from: event) + oldName: event oldName! - self addChange: (DSClassNameChange fromEvent: anEvent)!
Item was changed: ----- Method: DSDelta>>logClassCreatedEvent: (in category '*deltastreams-logging') ----- + logClassCreatedEvent: event - logClassCreatedEvent: anEvent "A new class was created."
+ self addClassChange: DSClassCreatedChange from: event + ! - self addChange: (DSClassCreatedChange fromEvent: anEvent)!
Item was changed: ----- Method: DSDelta>>logMethodAddedEvent: (in category '*deltastreams-logging') ----- logMethodAddedEvent: anEvent "A new method was created."
+ self addMethodChange: DSMethodAddedChange from: anEvent! - self addChange: (DSMethodAddedChange fromEvent: anEvent)!
Item was removed: - ----- Method: DSMethodChange class>>fromEvent: (in category '*deltastreams-logging') ----- - fromEvent: anEvent - ^ (super fromEvent: anEvent) - method: anEvent itemMethod; - protocol: anEvent itemProtocol; - yourself!
Item was removed: - ----- Method: DSSharedPoolVarsChange class>>fromEvent: (in category '*deltastreams-logging') ----- - fromEvent: anEvent - ^ (super fromEvent: anEvent) - oldVars: anEvent oldItem poolDictionaryNames; - yourself!
Item was removed: - ----- Method: DSBasicClassChange class>>fromEvent: (in category '*deltastreams-logging') ----- - fromEvent: anEvent - ^self fromClass: anEvent itemClass!
Item was removed: - ----- Method: DSDelta>>logClassCommentedEvent: (in category '*deltastreams-logging') ----- - logClassCommentedEvent: anEvent - "A class comment has been changed." - - self addChange: (DSClassCommentChange fromEvent: anEvent)!
Item was removed: - ----- Method: DSClassCategoryChange class>>fromEvent: (in category '*deltastreams-logging') ----- - fromEvent: anEvent - ^ (super fromEvent: anEvent) - oldCategory: anEvent oldCategory; - yourself!
Item was removed: - ----- Method: DSClassCommentChange class>>fromEvent: (in category '*deltastreams-logging') ----- - fromEvent: anEvent - ^ (super fromEvent: anEvent) - oldComment: anEvent oldComment; - newComment: anEvent newComment; - oldStamp: anEvent oldStamp; - newStamp: anEvent newStamp; - yourself!
Item was removed: - ----- Method: DSClassVarsChange class>>fromEvent: (in category '*deltastreams-logging') ----- - fromEvent: anEvent - ^ (super fromEvent: anEvent) - oldVars: anEvent oldClassVarNames; - yourself!
Item was removed: - ----- Method: DSClassSuperclassChange class>>fromEvent: (in category '*deltastreams-logging') ----- - fromEvent: anEvent - ^ (super fromEvent: anEvent) - oldSuperclass: anEvent oldSuperclass; - yourself!
Item was removed: - ----- Method: DSClassNameChange class>>fromEvent: (in category '*deltastreams-logging') ----- - fromEvent: anEvent - ^ (super fromEvent: anEvent) - oldName: anEvent oldName; - yourself!
Item was removed: - ----- Method: DSInstVarsChange class>>fromEvent: (in category '*deltastreams-logging') ----- - fromEvent: anEvent - ^ (super fromEvent: anEvent) - oldVars: anEvent oldInstVarNames; - yourself!
Item was removed: - ----- Method: DSDelta>>logMethodProtocolEvent:from:to: (in category '*deltastreams-logging') ----- - logMethodProtocolEvent: anEvent from: oldProtocol to: newProtocol - "A method is being categorized under a new protocol." - - | selector | - selector := anEvent itemSelector. - selector ifNil: [selector := anEvent itemMethod sourceSelector]. - selector ifNil: [selector := anEvent itemMethod selector]. - self addChange: (DSMethodProtocolChange - class: anEvent itemClass - selector: selector - from: oldProtocol - to: newProtocol)!
Item was removed: - ----- Method: DSClassTypeChange class>>fromEvent: (in category '*deltastreams-logging') ----- - fromEvent: anEvent - ^ (super fromEvent: anEvent) - oldType: anEvent oldTypeOfClass; - yourself!
Item was removed: - ----- Method: DSClassInstVarsChange class>>fromEvent: (in category '*deltastreams-logging') ----- - fromEvent: anEvent - ^ (super fromEvent: anEvent) - oldVars: anEvent oldInstVarNames; - yourself!
Item was removed: - ----- Method: DSDelta>>logMethodSourceEvent:from:to: (in category '*deltastreams-logging') ----- - logMethodSourceEvent: anEvent from: oldMethod to: newMethod - "A method has new source." - - self addChange: (DSMethodSourceChange - class: anEvent itemClass - selector: anEvent itemSelector - from: oldMethod - to: newMethod)!
Item was removed: - ----- Method: DSBasicMethodChange class>>fromEvent: (in category '*deltastreams-logging') ----- - fromEvent: anEvent - ^ self class: anEvent itemClass selector: anEvent itemSelector!
packages@lists.squeakfoundation.org