2020 10 15
Access.bit is created by whAdminTool using class JwDomainUserAdmin.
| loader targetObject stream | "use a 7.5 Jas image that contains the above class" (stream := CfsReadFileStream open: 'c:\progra~2\jas\jacs\access.bit') isCfsError ifTrue: [self error: stream printString]. stream isBytes: true. loader := ObjectLoader new. targetObject := loader loadFromStream: stream. stream close. targetObject inspect. Smalltalk at: #DMM put: targetObject. "---------------------------- READ THIS 6/28/19 you must use UPPERCASE for user and domain names. Use JAS even if your logon is Jas. Use DELL620 even if your machine is named Dell6520. Otherwise the stupid code (somewhere) will create another account as uppercase and the conflict will make nothing work" (Smalltalk at: #DMM) inspect. "<------------------ make changes" "rewrite it after changes" | dumper targetObject stream | targetObject:= Smalltalk at: #DMM. (stream := CfsWriteFileStream open: 'c:\temp\access.bit.NEW') isCfsError ifTrue: [ self error: stream printString]. stream isBytes: true. dumper := ObjectDumper new. dumper unload: targetObject intoStream: stream. stream close "check the new file" | loader targetObject stream | (stream := CfsReadFileStream open: 'c:\temp\access.bit.NEW') isCfsError ifTrue: [self error: stream printString]. stream isBytes: true. loader := ObjectLoader new. targetObject := loader loadFromStream: stream. stream close. targetObject inspect.
composeStoredObject ^(OrderedCollection new) add: self class currentDomainId; add: self class currentUserId; add: domains; oc of JwrDomainAccount add: users; oc of JwrUserAccount add: jars; yourself