Issue 314 in glassdb: Cannot use SharedPool subclass directly in poolDictionary specification

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Issue 314 in glassdb: Cannot use SharedPool subclass directly in poolDictionary specification

glassdb
Status: Accepted
Owner: [hidden email]
Labels: Type-Defect Priority-Medium GLASS-Server Version-GLASS0.231

New issue 314 by [hidden email]: Cannot use SharedPool subclass  
directly in poolDictionary specification
http://code.google.com/p/glassdb/issues/detail?id=314

Marten Feldtmann noticed that you can't use subclasses of SharedPool in the  
specifications for poolDictionaries:

   
http://forum.world.st/A-simple-question-PoolDictionary-tp4099207p4099207.html

Instead you need to directly reference the _classVar dictionary of the  
SharedPool:

   Object subclass: 'Testing'
        instVarNames: #()
        classVars: #()
        classInstVars: #()
        poolDictionaries:  {ZipFileConstants _classVars }
        inDictionary: ''
        category: 'AAA'
        options: #()

I would think that we can arrange to handle SharedPool references and get  
rid of the _classVar hack...

Reply | Threaded
Open this post in threaded view
|

Re: Issue 314 in glassdb: Cannot use SharedPool subclass directly in poolDictionary specification

glassdb

Comment #1 on issue 314 by [hidden email]: Cannot use SharedPool  
subclass directly in poolDictionary specification
http://code.google.com/p/glassdb/issues/detail?id=314

Actually, the correct way to define the class is:
   Object subclass: 'Testing'
        instVarNames: #()
        classVars: #()
        classInstVars: #()
        poolDictionaries:  (Class poolDictionariesForNames: #('TestingPool'))
        inDictionary: ''
        category: 'AAA'

The definitions of the class is then displayed in the browser as:

   Object subclass: 'Testing'
        instVarNames: #()
        classVars: #()
        classInstVars: #()
        poolDictionaries:  {TestingPool _classVars }
        inDictionary: ''
        category: 'AAA'
        options: #()

Which is obviously incorrect ...

Clearly the handling of pool dictionaries needs to be cleaned up...

Reply | Threaded
Open this post in threaded view
|

Re: Issue 314 in glassdb: Cannot use SharedPool subclass directly in poolDictionary specification

marten
Does this mean, that one can not use pools ?

Marten

Am 23.11.2011 18:34, schrieb [hidden email]:

>
> Comment #1 on issue 314 by [hidden email]: Cannot use SharedPool
> subclass directly in poolDictionary specification
> http://code.google.com/p/glassdb/issues/detail?id=314
>
> Actually, the correct way to define the class is:
> Object subclass: 'Testing'
> instVarNames: #()
> classVars: #()
> classInstVars: #()
> poolDictionaries: (Class poolDictionariesForNames: #('TestingPool'))
> inDictionary: ''
> category: 'AAA'
>
> The definitions of the class is then displayed in the browser as:
>
> Object subclass: 'Testing'
> instVarNames: #()
> classVars: #()
> classInstVars: #()
> poolDictionaries: {TestingPool _classVars }
> inDictionary: ''
> category: 'AAA'
> options: #()
>
> Which is obviously incorrect ...
>
> Clearly the handling of pool dictionaries needs to be cleaned up...
>
Reply | Threaded
Open this post in threaded view
|

Re: Issue 314 in glassdb: Cannot use SharedPool subclass directly in poolDictionary specification

Dale Henrichs
No, it just means that you have to do some manual work each time you monkey with the class definition in the browser ... mcz files work correctly ....

ZipConstants are SharedPools that are used in several places in GLASS...

Dale

----- Original Message -----
| From: "Marten Feldtmann" <[hidden email]>
| To: "GemStone Seaside beta discussion" <[hidden email]>
| Sent: Wednesday, November 23, 2011 1:03:20 PM
| Subject: Re: [GS/SS Beta] Issue 314 in glassdb: Cannot use SharedPool subclass directly in poolDictionary
| specification
|
| Does this mean, that one can not use pools ?
|
| Marten
|
| Am 23.11.2011 18:34, schrieb [hidden email]:
| >
| > Comment #1 on issue 314 by [hidden email]: Cannot use
| > SharedPool
| > subclass directly in poolDictionary specification
| > http://code.google.com/p/glassdb/issues/detail?id=314
| >
| > Actually, the correct way to define the class is:
| > Object subclass: 'Testing'
| > instVarNames: #()
| > classVars: #()
| > classInstVars: #()
| > poolDictionaries: (Class poolDictionariesForNames:
| > #('TestingPool'))
| > inDictionary: ''
| > category: 'AAA'
| >
| > The definitions of the class is then displayed in the browser as:
| >
| > Object subclass: 'Testing'
| > instVarNames: #()
| > classVars: #()
| > classInstVars: #()
| > poolDictionaries: {TestingPool _classVars }
| > inDictionary: ''
| > category: 'AAA'
| > options: #()
| >
| > Which is obviously incorrect ...
| >
| > Clearly the handling of pool dictionaries needs to be cleaned up...
| >
|