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

classic Classic list List threaded Threaded
4 messages Options
glassdb glassdb
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

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

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...

glassdb glassdb
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

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


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...

marten marten
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

Re: 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...
>
Dale Henrichs Dale Henrichs
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate
star

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

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...
| >
|
Loading...