Mariano,

No problem, man! Sometimes you've got to "talk out loud" to figure out what you 
are doing wrong, I know that I do that often enough myself ... 

Dale

----- Original Message -----
| From: "Mariano Martinez Peck" <[email protected]>
| To: [email protected]
| Sent: Saturday, May 19, 2012 2:43:35 PM
| Subject: Re: [Pharo-project] Order of sending class side #initialize
| 
| 
| 
| 
| On Sat, May 19, 2012 at 11:30 PM, Dale Henrichs < [email protected]
| > wrote:
| 
| 
| Okay,
| 
| Are you loading all of the classes (for all packages) before you run
| the initializers? ... I'm pretty sure that some of the
| initializations need to be run before subclasses are _loaded_.
| 
| Next, you should try to force your initialization order to match that
| of Metacello, if that doesn't help then something else is the root
| cause of your problems...
| 
| 
| 
| 
| 
| heheheheh I should stop sending crap emails to the mailing list. Once
| again, sorry for the noise. I was a problem in my own code. A
| default flag has the incorrect value and I was initializing
| twice...once after each packages and then once they all finished...
| 
| anyway, now it works :)
| 
| Thanks Dale for your patient
| 
| 
| 
| 
| Dale
| 
| ----- Original Message -----
| | From: "Mariano Martinez Peck" < [email protected] >
| 
| 
| | To: [email protected]
| | Sent: Saturday, May 19, 2012 2:20:14 PM
| | Subject: Re: [Pharo-project] Order of sending class side
| | #initialize
| | 
| | 
| | 
| | 
| | On Sat, May 19, 2012 at 9:01 PM, Dale Henrichs <
| | [email protected]
| | > wrote:
| | 
| | 
| | Mariano,
| | 
| | To shed some light on the exact problem, I think that you should
| | record the initialization order of a Metacello load and compare
| | that
| | to the initialization order that you are using.
| | 
| | While your algorithm looks like it is correct it doesn't
| | necessarily
| | match the actual initialization order you get when using Monticello
| | and Metacello...
| | 
| | It would be interesting to find out where the differences in order
| | are and then focus on understanding why...
| | 
| | 
| | Hi Dale. Well, I did that. I noticed 2 differences:
| | 
| | 1) If the class already exist and the #initialize is the same, it
| | is
| | not re-executed. In my case, I execute it always. I know, this is a
| | problem I have. Nevertheless, the only classes that already exist
| | in
| | the image I am loading is Zinc...and the problem does not seem
| | related to that.
| | 
| | 2) The order of the classes/methods inside a package is different.
| | I
| | mean, I load the packages in order, but inside, for each package,
| | the order I send #initialize is not the same as Monticello.
| | Example:
| | 
| | My code:
| | 
| | Initializing class: WAKeyGenerator class
| | Initializing class: WAUrlEncoder class
| | Initializing class: WAServerManager class
| | Initializing class: WALocale class
| | Initializing class: WAResponse class
| | Initializing class: WAXmlEncoder class
| | Initializing class: WASystemConfiguration class
| | Initializing class: WASharedConfiguration class
| | Initializing class: WAAbstractFileLibrary class
| | 
| | Monticello:
| | 
| | Initialize class: (Seaside-Core-Libraries) -- WAAbstractFileLibrary
| | Initialize class: (Seaside-Core-Configuration) --
| | WASystemConfiguration
| | Initialize class: (Seaside-Core-Configuration) --
| | WASharedConfiguration
| | Initialize class: (Seaside-Core-Document) -- WAUrlEncoder
| | Initialize class: (Seaside-Core-Document) -- WAXmlEncoder
| | Initialize class: (Seaside-Core-Utilities) -- WAKeyGenerator
| | Initialize class: (Seaside-Core-HTTP) -- WALocale
| | Initialize class: (Seaside-Core-HTTP) -- WAResponse
| | Initialize class: (Seaside-Core-Server) -- WAServerManager
| | 
| | So...maybe this is the reason? what I am thinking now that maybe
| | the
| | problem is not in the initialization but instead of export? I mean,
| | maybe Monticello exports methods/classes with certain order and
| | that's why it works? because when exporting I am not using any
| | order
| | at all.
| | 
| | Thanks
| | 
| | 
| | 
| | 
| | 
| | Dale
| | 
| | 
| | 
| | ----- Original Message -----
| | | From: "Mariano Martinez Peck" < [email protected] >
| | | To: "Pharo Development" < [email protected] >
| | | Sent: Saturday, May 19, 2012 11:25:57 AM
| | | Subject: [Pharo-project] Order of sending class side #initialize
| | | 
| | | Hi guys. I am doing some experiments with FuelPackageLoader and I
| | | have a problem with the initialization. All my unit tests pass
| | | but
| | | when trying to export/import seaside/pier/magritte, I have a
| | | problem.
| | | What I do basically, is to ask Metacello the list of packages
| | | that
| | | I
| | | need to loaded for seaside and friends. The list is IN ORDER OF
| | | LOADING. So what I do during the import is to load each package
| | | in
| | | the correct order (the one Metacello told me). For each package I
| | | load, I initialize its classes (at the end of the load of the
| | | package). The order I initialize classes for a package is:
| | | 
| | | ((aPackage classes select: [:each | each isBehavior])
| | | sort: [:a :b | a allSuperclasses size < b allSuperclasses size ])
| | | do: [:aClass |
| | | Transcript show: 'Initializing class: ', aClass name; cr.
| | | aClass initializeOnLoad]
| | | 
| | | and
| | | 
| | | Class >> initializeOnLoad
| | | (self class includesSelector: #initialize)
| | | ifTrue: [self initialize]
| | | 
| | | 
| | | so...I am having a problem with seaside with a class and it looks
| | | like a problem of the order of the initialize. Do you think
| | | something is wrong with our approach? any idea?
| | | 
| | | thanks in advance,
| | | 
| | | --
| | | Mariano
| | | http://marianopeck.wordpress.com
| | | 
| | | 
| | 
| | 
| | 
| | 
| | --
| | Mariano
| | http://marianopeck.wordpress.com
| | 
| | 
| 
| 
| 
| 
| --
| Mariano
| http://marianopeck.wordpress.com
| 
| 

Reply via email to