[Pharo-project] zinc incompatibilities with gemstone
Hi, I'm trying to load Zinc on gemstone. It more or less loads fine, but there are some fixes needed, I'm attaching the problems I found, hoping some benevolent soul will integrate to gemstone zinc code :) This are the problems found: ZnUrl>>scheme: symbol symbol isNil ifTrue: [ scheme := nil ] ifFalse: [ (#(#http #https) includes: symbol) "<== they need to be strings (symbols ~= strings in gemstone)" ifTrue: [ scheme := symbol asSymbol ] ifFalse: [ (ZnUnknowScheme scheme: symbol) signal ] ] ZnNetworkingUtils>>isProxySet "Should a proxy be used ?" ^ NetworkSystemSettings useHTTPProxy "<== This class does not exists." ZnNetworkingUtils>>socketStreamTimeout "Access the current timeout in seconds for SocketStream IO" ^ ZnConnectionTimeout value "<== DynamicVariable class (parent of ZnConnectionTimeout) does not exists." best, Esteban
Esteban, I'll wait for Paul DeBruicker who did the port to Gemstone to comment, we'll figure this out somehow. Of course, I knew when adding these recent features that I was probably using classes only available in Pharo (NetworkSystemSettings, DynamicVariable), these can probably be added to the compat packages, we'll see. Sven On 28 Jun 2011, at 15:32, Esteban Lorenzano wrote:
Hi, I'm trying to load Zinc on gemstone. It more or less loads fine, but there are some fixes needed, I'm attaching the problems I found, hoping some benevolent soul will integrate to gemstone zinc code :)
This are the problems found:
ZnUrl>>scheme: symbol symbol isNil ifTrue: [ scheme := nil ] ifFalse: [ (#(#http #https) includes: symbol) "<== they need to be strings (symbols ~= strings in gemstone)" ifTrue: [ scheme := symbol asSymbol ] ifFalse: [ (ZnUnknowScheme scheme: symbol) signal ] ]
ZnNetworkingUtils>>isProxySet "Should a proxy be used ?"
^ NetworkSystemSettings useHTTPProxy "<== This class does not exists."
ZnNetworkingUtils>>socketStreamTimeout "Access the current timeout in seconds for SocketStream IO"
^ ZnConnectionTimeout value "<== DynamicVariable class (parent of ZnConnectionTimeout) does not exists."
best, Esteban
Esteban & Sven: I have time to take a look at it towards the end of the day. Please feel free to make the improvements yourself if you want. Esteban - Did you look for/find any classes in Gemstone that are similar to NetworkSystemSettings or DynamicVariable? I have not. I'll get back to you later in the day. Paul On 06/28/2011 09:32 AM, Esteban Lorenzano wrote:
Hi, I'm trying to load Zinc on gemstone. It more or less loads fine, but there are some fixes needed, I'm attaching the problems I found, hoping some benevolent soul will integrate to gemstone zinc code :)
This are the problems found:
ZnUrl>>scheme: symbol symbol isNil ifTrue: [ scheme := nil ] ifFalse: [ (#(#http #https) includes: symbol) "<== they need to be strings (symbols ~= strings in gemstone)" ifTrue: [ scheme := symbol asSymbol ] ifFalse: [ (ZnUnknowScheme scheme: symbol) signal ] ]
ZnNetworkingUtils>>isProxySet "Should a proxy be used ?"
^ NetworkSystemSettings useHTTPProxy "<== This class does not exists."
ZnNetworkingUtils>>socketStreamTimeout "Access the current timeout in seconds for SocketStream IO"
^ ZnConnectionTimeout value "<== DynamicVariable class (parent of ZnConnectionTimeout) does not exists."
best, Esteban
Hi Esteban - How are you loading Zinc into Gemstone? Were you using the metacello configuration on Squeaksource or something else? The reason I ask is all three issues you report were fixed/working at the start of June when I updated the port to what was current at the time. The Gemstone port is current up to Zinc-HTTP-SvenVanCaekenberghe.162 which is from May 19th. Let me know if loading via the metacello config is flawed and I'll update everything. Also check that you are loading version 1.1 of the project. It is the version referenced in #stable: I pasted the specific fixes below Thanks Paul ZnUrl>>scheme: symbol symbol isNil ifTrue: [ scheme := nil ] ifFalse: [ (#(http https) includes: symbol asSymbol) ifTrue: [ scheme := symbol asSymbol ] ifFalse: [ (ZnUnknowScheme scheme: symbol) signal ] ] ZnNetworkingUtils>>isProxySet ^ HTTPSocket httpProxyServer isEmptyOrNil not ZnNetworkingUtils class>> socketStreamTimeout "Timeout in seconds for SocketStream IO" ^ 10
Hi, I'm loading ConfigurationOfZincHTTPComponents from MetacelloRepository, and I'm loading #bleedingEdge version of zinc, but 1.0 is not loading either. Cheers, Esteban El 28/06/2011, a las 3:50p.m., Paul DeBruicker escribió:
Hi Esteban -
How are you loading Zinc into Gemstone? Were you using the metacello configuration on Squeaksource or something else?
The reason I ask is all three issues you report were fixed/working at the start of June when I updated the port to what was current at the time. The Gemstone port is current up to Zinc-HTTP-SvenVanCaekenberghe.162 which is from May 19th.
Let me know if loading via the metacello config is flawed and I'll update everything. Also check that you are loading version 1.1 of the project. It is the version referenced in #stable:
I pasted the specific fixes below
Thanks Paul
ZnUrl>>scheme: symbol symbol isNil ifTrue: [ scheme := nil ] ifFalse: [ (#(http https) includes: symbol asSymbol) ifTrue: [ scheme := symbol asSymbol ] ifFalse: [ (ZnUnknowScheme scheme: symbol) signal ] ]
ZnNetworkingUtils>>isProxySet ^ HTTPSocket httpProxyServer isEmptyOrNil not
ZnNetworkingUtils class>> socketStreamTimeout "Timeout in seconds for SocketStream IO"
^ 10
On 06/29/2011 09:42 AM, Esteban Lorenzano wrote:
Hi, I'm loading ConfigurationOfZincHTTPComponents from MetacelloRepository, and I'm loading #bleedingEdge version of zinc, but 1.0 is not loading either.
Cheers, Esteban
Ahh. I forgot there was one in the MetacelloRepository. It is outdated. Sorry. Use the config in http://www.squeaksource.com/ZincHTTPComponents After you load from the config will you load the latest Zinc-HTTP from SqueakSource? If so then reload the Zinc-Gemstone package afterwards and it should fix your issues. You may have to change the ZnNetworkingUtils class>>socketStreamTimeout on your own as I don't think its in the Zinc-Gemstone package. As I mentioned to Phillipe, I don't have better ideas than to override methods where there are platform inconsistencies that need to be addressed for the stuff to load and run. Maybe you would be comfortable to add a version 1.2 to the Zinc config on squeaksource that pulls in the latest Zinc that Sven has made and then loads the Zinc-Gemstone package. If so please do. Good luck and let me know what else I can help with Paul
ouch! I just uploaded a new ConfigurationOfZincHTTPComponents to MetacelloRepository that loads on Gemstone :( (also I commited a new version of Zinc-Gemstone, whit a missing override) El 29/06/2011, a las 11:57a.m., Paul DeBruicker escribió:
On 06/29/2011 09:42 AM, Esteban Lorenzano wrote:
Hi, I'm loading ConfigurationOfZincHTTPComponents from MetacelloRepository, and I'm loading #bleedingEdge version of zinc, but 1.0 is not loading either.
Cheers, Esteban
Ahh. I forgot there was one in the MetacelloRepository. It is outdated. Sorry. Use the config in
http://www.squeaksource.com/ZincHTTPComponents
After you load from the config will you load the latest Zinc-HTTP from SqueakSource? If so then reload the Zinc-Gemstone package afterwards and it should fix your issues. You may have to change the ZnNetworkingUtils class>>socketStreamTimeout on your own as I don't think its in the Zinc-Gemstone package.
As I mentioned to Phillipe, I don't have better ideas than to override methods where there are platform inconsistencies that need to be addressed for the stuff to load and run.
Maybe you would be comfortable to add a version 1.2 to the Zinc config on squeaksource that pulls in the latest Zinc that Sven has made and then loads the Zinc-Gemstone package. If so please do.
Good luck and let me know what else I can help with
Paul
participants (3)
-
Esteban Lorenzano -
Paul DeBruicker -
Sven Van Caekenberghe