[GemStone-Smalltalk] Class names and VisualWorks namespaces

Martin McClure martin.mcclure at gemtalksystems.com
Mon Nov 23 15:34:36 PST 2020


Hi David,

A bit of additional information that might be useful. As Richard says, 
GBS currently has no way to control which namespace 
automatically-generated classes are placed in. However, you can connect 
an existing class in any VW namespace by specifying an environment to 
the class connector.

Regards,
-Martin

On 11/2/20 10:03 AM, David Shaffer via GemStone-Smalltalk wrote:
> Thanks Richard, I guess I was just looking for confirmation that I had 
> to write this code myself.  At the moment I’m mapping VW namespaces to 
> GS symbol dictionaries (replacing “.” with __ and ignoring containment 
> of one namespace inside another).  This keeps classes unambiguous on 
> the server.  Code attached “kind of” works and comments are welcomed 
> but not expected ;)  Now I have to sort out all of the magic 
> in GbsSession>>createGemStoneClassFor:copyOldVersion: and 
> GbsSession>>doesClientClass:matchServerClass: since those methods 
> handle lots of special cases (class already exists with same/different 
> structure etc) but are, unfortunately, interactive.
>
> (Sorry about the crappy Topological sort…it will need to be revisited 
> if you’re publishing a large number of classes).
>
> Best,
>
> David
>
>
>
>
>
>> On Nov 2, 2020, at 12:51 PM, Richard Sargent 
>> <richard.sargent at gemtalksystems.com 
>> <mailto:richard.sargent at gemtalksystems.com>> wrote:
>>
>> On Tue, Oct 27, 2020 at 7:48 PM David Shaffer via GemStone-Smalltalk 
>> <gemstone-smalltalk at lists.gemtalksystems.com 
>> <mailto:gemstone-smalltalk at lists.gemtalksystems.com>> wrote:
>>
>>     Am I misunderstanding or does GemBuilder for VisualWorks ignore
>>     VisualWorks namespaces when automatically generating server
>>     classes and automatically creating connectors?
>>
>>
>> From the GBS for VisualWorks documentation:
>> GemBuilder deposits automatically generated GemStone server classes 
>> in the
>> GemStone symbol dictionary UserClasses, which it creates if necessary.
>> Automatically generated client Smalltalk classes are deposited in the 
>> current
>> package.
>> With respect to the "ignore VisualWorks namespaces" part of your 
>> question, I think the best way to answer it is "pretty much".
>>
>> As noted in the documentation, this automatic class generation is 
>> intended as a developer convenience. It is still best to deploy code 
>> to each environment in advance of running the application and to 
>> predefine the class connectors that could have a conflict or 
>> otherwise be unreachable by name lookup.
>>
>>
>>     Best,
>>
>>     David
>>
>>     _______________________________________________
>>     GemStone-Smalltalk mailing list
>>     GemStone-Smalltalk at lists.gemtalksystems.com
>>     <mailto:GemStone-Smalltalk at lists.gemtalksystems.com>
>>     https://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
>>     <https://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk>
>>
>
>
> _______________________________________________
> GemStone-Smalltalk mailing list
> GemStone-Smalltalk at lists.gemtalksystems.com
> https://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.gemtalksystems.com/mailman/private/gemstone-smalltalk/attachments/20201123/03f7193b/attachment.htm>


More information about the GemStone-Smalltalk mailing list