EOModel Consistency Check problem
Hi all,When I save my EOModel, it is failing the consistency check. Here's the message:Entity Part (parent entity of Finished) needs a restricting qualifier in order to filter out rows in table dbo.Part that are only holding data for Finished instances.Entity Part (parent entity of Intermediate) needs a restricting qualifier in order to filter out rows in table dbo.Part that are only holding data for Intermediate instances.Entity Part (parent entity of Raw) needs a restricting qualifier in order to filter out rows in table dbo.Part that are only holding data for Raw instances.How do I put three distinct restricting qualifier's on the Part entity? I've been through the documentation numerous times and I don't see how this is possible. The documentation (WebObjects EOModeler User Guide) only discusses adding qualifiers to the child entity, not the parent entity. I've added them to the child entity.I'm sure I'm missing something obvious!Dave ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: FOP and WebObjects yet again.
I tried to solve the headless issue with the java.awt.headless=true trick but it did not work on my MacOS X Server 10.3.9 so I changed the WebObjects startup scripts to be started with root instead of appserve. And also I had to have a root console session opened on the server machine. That is what worked for me and my wo+apachefop based application. ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: To Many relationship error
Jeff,It sounds like the model you're using doesn't match the code. Are you sure the model is correct and up to date? Also, what is the superclass of your Author class?KenOn May 2, 2006, at 11:49 PM, Jeff Monica Schmitz wrote:I'm going through the Visual Quick Start Guide tutorial and I've set up a to-many relationship in EOModeler, along with the to-one relationship in the opposite direction. While the to-one relationship works, I get the following error when accessing the generated java function to get the destination of the to-many relationship:Error:com.webobjects.foundation.NSKeyValueCoding$UnknownKeyException: valueForKey(): lookup of unknown key: 'articles'. This class does not have an instance variable of the name articles or _articles, nor a method of the name articles, _articles, getArticles, or _getArticlesReason:Author 0xa47962 valueForKey(): lookup of unknown key: 'articles'. This class does not have an instance variable of the name articles or _articles, nor a method of the name articles, _articles, getArticles, or _getArticles...at Author.articles(Author.java:44)...The generated function (in Author.java) in which the error is being generated looks like this: public NSArray articles() { return (NSArray)storedValueForKey("articles"); }I did do a drop and recreation of all my tables before running but still get the error. What I don't understand is from the error message it sounds like the storedValueForKey call is recursively looking for the function in which it resides (Author.aticles) and can't find itself. First, why is it looking for itself, and second, why can't it find itself? Any ideas out there?Thanks,Jeff ___Do not post admin requests to the list. They will be ignored.Webobjects-dev mailing list (Webobjects-dev@lists.apple.com)Help/Unsubscribe/Update your Subscription:http://lists.apple.com/mailman/options/webobjects-dev/lists%40anderhome.comThis email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: FOP and WebObjects yet again.
One other thing to try, if you have time, is the pure java graphics toolkit: pja toolkit. That fixed the problem on one of my Linux boxes with Batik. -arturo On May 3, 2006, at 6:26 AM, Carlos Gonzalez wrote: I tried to solve the headless issue with the java.awt.headless=true trick but it did not work on my MacOS X Server 10.3.9 so I changed the WebObjects startup scripts to be started with root instead of appserve. And also I had to have a root console session opened on the server machine. That is what worked for me and my wo+apachefop based application. ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/ arturo%40ethicist.net This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
What is the best way and where to create my array...
Hello - Here is my issue with a new site I am developing. I have multiple lists on a page. However, in the wrapper there is a pull down that can will act as a filter. I had originally put my array creation in the constructor. However, when I click on my wrapper pull down, the page refreshes, but the constructor of the components is not called. So, how do you guys solve this? Do I need to create a notification system or such? - James Cicenia ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: Want to iterate over items in EditingContext for validation before save
Stop! .. here is the easy way.. ;-) As per Apple WWDC sessions NEVER, EVER use the page constructor for creating EOEnterpriseObjects (or anything else for that matter). Use lazy initialization to create, fetch and pull in data as required, on demand. Then you don't ever have to consider the order or sequence of events. For example: protected EOEnterpriseObject _myObject; public EOEnterpriseObject myObject() { if ( _myObject == null ) { _myObject = EOUtilities.createAndInsertInstance( ec, entity_name ); } return _myObject; } Then it never matters what the user does with the page. If the object is not created, it will get created once the first time the getter method is called. See this for more info: http://david.codebase.ca/?p=75 HTH -Kieran Blog: http://webobjects.webhop.org/ On May 2, 2006, at 8:48 PM, WebObjects wrote: I've found an error in my coding style - too late in this project though. I use EOUtilities.createAndInsertInstance in a constructor for a page, and as a result 'refresh' and 'back' have become my enemies. How can I iterated over the unsaved objects in an EditingContext (ec), test their validity (ie. if ItemAt(0).getSomeValue() == null, etc) and delete them from the ec prior to .saveChanges() ? Many thanks for ec insight! -Bill ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/kieran_lists% 40mac.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: What is the best way and where to create my array...
On 3 May 2006, at 14:45, James Cicenia wrote: I have multiple lists on a page. However, in the wrapper there is a pull down that can will act as a filter. I had originally put my array creation in the constructor. However, when I click on my wrapper pull down, the page refreshes, but the constructor of the components is not called. So, how do you guys solve this? Do I need to create a notification system or such? The constructors are only called with pageWithName() is used to retrieve a component. This is a good thing. When redisplaying a page, you should be using bindings to pass values back and forth between components on a page. There are various points which you can use in the request-response cycle to prepare data; awake() isn't too bad a place to do this, the same goes for appendToResponse(), depending on what exactly you are doing. Someone will probably point out that standard binding processing will cause each binding to be refreshed up to six times per r-r cycle; this may or may not be a big deal, but it does mean that you should keep processing out of your accessor methods. You can look into synchronizesVariablesWithBindings() and stateless components if this is going to matter to you. Paul ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: Want to iterate over items in EditingContext for validation before save
Kieran, Agreed - the reason these suggestions were made is because he specifically stated that it's too late to change. Ken On May 3, 2006, at 9:57 AM, Kieran Kelleher wrote: Stop! .. here is the easy way.. ;-) As per Apple WWDC sessions NEVER, EVER use the page constructor for creating EOEnterpriseObjects (or anything else for that matter). Use lazy initialization to create, fetch and pull in data as required, on demand. Then you don't ever have to consider the order or sequence of events. For example: protected EOEnterpriseObject _myObject; public EOEnterpriseObject myObject() { if ( _myObject == null ) { _myObject = EOUtilities.createAndInsertInstance( ec, entity_name ); } return _myObject; } Then it never matters what the user does with the page. If the object is not created, it will get created once the first time the getter method is called. See this for more info: http://david.codebase.ca/?p=75 HTH -Kieran Blog: http://webobjects.webhop.org/ On May 2, 2006, at 8:48 PM, WebObjects wrote: I've found an error in my coding style - too late in this project though. I use EOUtilities.createAndInsertInstance in a constructor for a page, and as a result 'refresh' and 'back' have become my enemies. How can I iterated over the unsaved objects in an EditingContext (ec), test their validity (ie. if ItemAt(0).getSomeValue() == null, etc) and delete them from the ec prior to .saveChanges() ? Many thanks for ec insight! -Bill ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/kieran_lists% 40mac.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/lists% 40anderhome.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: What is the best way and where to create my array...
Thanks --- I certainly didn't want to put these big array builders in an accessor. I will test the other approaches now. - James On May 3, 2006, at 9:00 AM, Paul Lynch wrote: On 3 May 2006, at 14:45, James Cicenia wrote: I have multiple lists on a page. However, in the wrapper there is a pull down that can will act as a filter. I had originally put my array creation in the constructor. However, when I click on my wrapper pull down, the page refreshes, but the constructor of the components is not called. So, how do you guys solve this? Do I need to create a notification system or such? The constructors are only called with pageWithName() is used to retrieve a component. This is a good thing. When redisplaying a page, you should be using bindings to pass values back and forth between components on a page. There are various points which you can use in the request-response cycle to prepare data; awake() isn't too bad a place to do this, the same goes for appendToResponse (), depending on what exactly you are doing. Someone will probably point out that standard binding processing will cause each binding to be refreshed up to six times per r-r cycle; this may or may not be a big deal, but it does mean that you should keep processing out of your accessor methods. You can look into synchronizesVariablesWithBindings() and stateless components if this is going to matter to you. Paul ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: What is the best way and where to create my array...
Am 03.05.2006 15:45 Uhr schrieb James Cicenia unter [EMAIL PROTECTED]: Hi James, Hello - Here is my issue with a new site I am developing. I have multiple lists on a page. However, in the wrapper there is a pull down that can will act as a filter. The pull down should be in a form. Then your pull down should call onchange javascript:form.submit() I had originally put my array creation in the constructor. However, when I click on my wrapper pull down, the page refreshes, but the constructor of the components is not called. You should refresh your displayed lists in appendToResponse, filtering with the selected entry from the pull down (the value is transfered with the submit), either refetching or in memory filtering the corresponding NSArrays. So, how do you guys solve this? Do I need to create a notification system or such? Just try it this way. Be aware of the roundtripp and the computing power if your lists are long. This might be a nice application für ajax :-) but there is no ***short*** receipe for this... - James Cicenia Wolfram ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: What is the best way and where to create my array...
Ok -- I have tried Awake, however, since I am using a display group, it seems that is to late to set the displayGroups objects, same with append to response. Is this a DisplayGroup issue? I am using this project to finally learn and use DisplayGroups. thanks James On May 3, 2006, at 9:00 AM, Paul Lynch wrote: On 3 May 2006, at 14:45, James Cicenia wrote: I have multiple lists on a page. However, in the wrapper there is a pull down that can will act as a filter. I had originally put my array creation in the constructor. However, when I click on my wrapper pull down, the page refreshes, but the constructor of the components is not called. So, how do you guys solve this? Do I need to create a notification system or such? The constructors are only called with pageWithName() is used to retrieve a component. This is a good thing. When redisplaying a page, you should be using bindings to pass values back and forth between components on a page. There are various points which you can use in the request-response cycle to prepare data; awake() isn't too bad a place to do this, the same goes for appendToResponse (), depending on what exactly you are doing. Someone will probably point out that standard binding processing will cause each binding to be refreshed up to six times per r-r cycle; this may or may not be a big deal, but it does mean that you should keep processing out of your accessor methods. You can look into synchronizesVariablesWithBindings() and stateless components if this is going to matter to you. Paul ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: What is the best way and where to create my array...
On 3-May-06, at 11:12 AM, James Cicenia wrote: Ok -- I have tried Awake, however, since I am using a display group, it seems that is to late to set the displayGroups objects, same with append to response. Is this a DisplayGroup issue? I am using this project to finally learn and use DisplayGroups. thanks James James, I've used the lazy init pattern quite successfully with DisplayGroups. Take a look at these two articles and let me know if they answer your questions: http://david.codeferous.com/index.php?s=displaygroupsubmit=Search -- ;david -- David LeBer Codeferous Software 'co-defer-ous' adj. producing or containing code site: http://www.codeferous.com blog: http://david.codeferous.com smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: FrontBase license now free!
Hi Pierce,It is NOT generally known! Thanks for the heads up. Why isn't this being shouted from the mountaintops?? There's actually not too much information about it on their website either. I sent in the request for the free license and got it a few minutes later. I can't wait to start using it instead of mysql! Are there any issues with using FrontBase that we should know starting out??David -- It's like driving a car at night. You never see further than your headlights, but you can make the whole trip that way. E. L. Doctorowfrom Sunbeams: http://www.thesunmagazine.org On 1 May 2006, at 3:07 PM, Pierce T. Wetter III wrote: I don't know if this is generally known, but FrontBase licenses are now free, FrontBase having switched to a paid-support model instead. So if any of you are using MySQL or Postgres, you might want to consider FrontBase instead. Pierce___Do not post admin requests to the list. They will be ignored.Webobjects-dev mailing list (Webobjects-dev@lists.apple.com)Help/Unsubscribe/Update your Subscription:http://lists.apple.com/mailman/options/webobjects-dev/programmingosx%40mac.comThis email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: FrontBase license now free!
On May 3, 2006, at 9:22 AM, David Holt wrote: Hi Pierce, It is NOT generally known! Thanks for the heads up. Why isn't this being shouted from the mountaintops?? There's actually not too much information about it on their website either. I sent in the request for the free license and got it a few minutes later. I can't wait to start using it instead of mysql! Are there any issues with using FrontBase that we should know starting out?? Yes! You are unlikely to ever want to use anything else. :-) Chuck -- Coming in 2006 - an introduction to web applications using WebObjects and Xcode http://www.global-village.net/wointro Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.http://www.global-village.net/products/practical_webobjects ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: FrontBase license now free!
Okay, I'll bite. Why would I want to use it over other options? Are there features (besides cost) about it that would make me use it over other databases? Thanks, Dave On May 3, 2006, at 9:22 AM, David Holt wrote: Hi Pierce, It is NOT generally known! Thanks for the heads up. Why isn't this being shouted from the mountaintops?? There's actually not too much information about it on their website either. I sent in the request for the free license and got it a few minutes later. I can't wait to start using it instead of mysql! Are there any issues with using FrontBase that we should know starting out?? Yes! You are unlikely to ever want to use anything else. :-) Chuck -- Coming in 2006 - an introduction to web applications using WebObjects and Xcode http://www.global-village.net/wointro Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.http://www.global-village.net/products/ practical_webobjects ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/webobjects% 40avendasora.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: What is the best way and where to create my array...
David - I looked them over, but, they don't seem to address my particular r-r issue. Maybe my page is constructed wrong. I have a wrapper that has a header with its own form. This means my display groups are not within that form.. could this be the problem? It seems as though the display group gets rendered before awake or appendToResponse... is that possible? - James On May 3, 2006, at 10:23 AM, David LeBer wrote: On 3-May-06, at 11:12 AM, James Cicenia wrote: Ok -- I have tried Awake, however, since I am using a display group, it seems that is to late to set the displayGroups objects, same with append to response. Is this a DisplayGroup issue? I am using this project to finally learn and use DisplayGroups. thanks James James, I've used the lazy init pattern quite successfully with DisplayGroups. Take a look at these two articles and let me know if they answer your questions: http://david.codeferous.com/index.php?s=displaygroupsubmit=Search -- ;david -- David LeBer Codeferous Software 'co-defer-ous' adj. producing or containing code site: http://www.codeferous.com blog: http://david.codeferous.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: What is the best way and where to create my array...
On 3-May-06, at 1:22 PM, James Cicenia wrote: David - I looked them over, but, they don't seem to address my particular r- r issue. Maybe my page is constructed wrong. I have a wrapper that has a header with its own form. This means my display groups are not within that form.. could this be the problem? There is nothing that says a DisplayGroup needs to be in a form. It seems as though the display group gets rendered before awake or appendToResponse... is that possible? Did you configure your DisplayGroup by draging an EO onto WOBuilder? ie: are there values for the DisplayGroup in the components .woo? That may be conflicting with your attempts to set the objectArray manually. - James On May 3, 2006, at 10:23 AM, David LeBer wrote: On 3-May-06, at 11:12 AM, James Cicenia wrote: Ok -- I have tried Awake, however, since I am using a display group, it seems that is to late to set the displayGroups objects, same with append to response. Is this a DisplayGroup issue? I am using this project to finally learn and use DisplayGroups. thanks James James, I've used the lazy init pattern quite successfully with DisplayGroups. Take a look at these two articles and let me know if they answer your questions: http://david.codeferous.com/index.php?s=displaygroupsubmit=Search -- ;david -- David LeBer Codeferous Software 'co-defer-ous' adj. producing or containing code site: http://www.codeferous.com blog: http://david.codeferous.com smime.p7s Description: S/MIME cryptographic signature ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: What is the best way and where to create my array...
On 3 May 2006, at 16:12, James Cicenia wrote: I have tried Awake, however, since I am using a display group, it seems that is to late to set the displayGroups objects, same with append to response. Is this a DisplayGroup issue? I am using this project to finally learn and use DisplayGroups. Too late? Your response is build up when your appendToResponse override calls super. Anything done before then will be used in the response. RR sequence within WOComponent is: awake takeValuesFromRequest invokeAction appendToResponse sleep Paul ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: What is the best way and where to create my array...
On 3 May 2006, at 18:22, James Cicenia wrote: I have a wrapper that has a header with its own form. This means my display groups are not within that form.. could this be the problem? Display groups are in your java code, not in the component. However, what you describe could be causing you a problem. Remember that a form only submits values that are within that form (which is probably the number one mistake I see in web designer created pages). So if your code depends on values that are outside the form that is being submitted, they won't reach your program. Also, if you use WOBatchNavBar, it contains a form of its own, which means that you can't include it inside another form. This shouldn't be a problem. It seems as though the display group gets rendered before awake or appendToResponse... is that possible? No. Paul ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: What is the best way and where to create my array...
On 3 May 2006, at 18:30, David LeBer wrote: Did you configure your DisplayGroup by draging an EO onto WOBuilder? ie: are there values for the DisplayGroup in the components .woo? That may be conflicting with your attempts to set the objectArray manually. The woo is only loaded from the constructor, so this shouldn't be a problem. Provided that the object values are being set correctly, or a dataSource constructed appropriately (like you described in your blog articles), there's not a lot to go wrong. I'd guess at two possibilities: mismatched forms, or wrong binding between components. Paul ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: FrontBase license now free!
On May 3, 2006, at 9:22 AM, David Holt wrote:Hi Pierce,It is NOT generally known! Thanks for the heads up. Why isn't this being shouted from the mountaintops?? There's actually not too much information about it on their website either. I sent in the request for the free license and got it a few minutes later. I can't wait to start using it instead of mysql! Are there any issues with using FrontBase that we should know starting out??DavidI think the reason more people do not know about this is the text on their web site. From the downloads page:DOWNLOADIMPORTANT! FrontBase™ requires a valid license string to run in the non-expiring mode. If FrontBase is used without a license string, databases will become inaccessible, but not destroyed, two months after they were created. Visit the FrontBase Store to generate a free E-Starter license or purchase one of our commercial licenses with comprehensive features.This looks "not free" to me, no matter what the reality is.- ray -- It's like driving a car at night. You never see further than your headlights, but you can make the whole trip that way. E. L. Doctorowfrom Sunbeams: http://www.thesunmagazine.org On 1 May 2006, at 3:07 PM, Pierce T. Wetter III wrote: I don't know if this is generally known, but FrontBase licenses are now free, FrontBase having switched to a paid-support model instead. So if any of you are using MySQL or Postgres, you might want to consider FrontBase instead. Pierce___Do not post admin requests to the list. They will be ignored.Webobjects-dev mailing list (Webobjects-dev@lists.apple.com)Help/Unsubscribe/Update your Subscription:http://lists.apple.com/mailman/options/webobjects-dev/programmingosx%40mac.comThis email sent to [EMAIL PROTECTED] ___Do not post admin requests to the list. They will be ignored.Webobjects-dev mailing list (Webobjects-dev@lists.apple.com)Help/Unsubscribe/Update your Subscription:http://lists.apple.com/mailman/options/webobjects-dev/kiddyr%40apple.comThis email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: FrontBase license now free!
I agree, they need to rework their website to reflect that they've changed things.DavidOn 3 May 2006, at 11:13 AM, Ray Kiddy wrote:On May 3, 2006, at 9:22 AM, David Holt wrote:Hi Pierce,It is NOT generally known! Thanks for the heads up. Why isn't this being shouted from the mountaintops?? There's actually not too much information about it on their website either. I sent in the request for the free license and got it a few minutes later. I can't wait to start using it instead of mysql! Are there any issues with using FrontBase that we should know starting out??DavidI think the reason more people do not know about this is the text on their web site. From the downloads page:DOWNLOADIMPORTANT! FrontBase™ requires a valid license string to run in the non-expiring mode. If FrontBase is used without a license string, databases will become inaccessible, but not destroyed, two months after they were created. Visit the FrontBase Store to generate a free E-Starter license or purchase one of our commercial licenses with comprehensive features.This looks "not free" to me, no matter what the reality is.- ray -- It's like driving a car at night. You never see further than your headlights, but you can make the whole trip that way. E. L. Doctorowfrom Sunbeams: http://www.thesunmagazine.org On 1 May 2006, at 3:07 PM, Pierce T. Wetter III wrote: I don't know if this is generally known, but FrontBase licenses are now free, FrontBase having switched to a paid-support model instead. So if any of you are using MySQL or Postgres, you might want to consider FrontBase instead. Pierce___Do not post admin requests to the list. They will be ignored.Webobjects-dev mailing list (Webobjects-dev@lists.apple.com)Help/Unsubscribe/Update your Subscription:http://lists.apple.com/mailman/options/webobjects-dev/programmingosx%40mac.comThis email sent to [EMAIL PROTECTED] ___Do not post admin requests to the list. They will be ignored.Webobjects-dev mailing list (Webobjects-dev@lists.apple.com)Help/Unsubscribe/Update your Subscription:http://lists.apple.com/mailman/options/webobjects-dev/kiddyr%40apple.comThis email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: FrontBase license now free!
On May 3, 2006, at 11:13 AM, Ray Kiddy wrote: On May 3, 2006, at 9:22 AM, David Holt wrote: Hi Pierce, It is NOT generally known! Thanks for the heads up. Why isn't this being shouted from the mountaintops?? There's actually not too much information about it on their website either. I sent in the request for the free license and got it a few minutes later. I can't wait to start using it instead of mysql! Are there any issues with using FrontBase that we should know starting out?? David I think the reason more people do not know about this is the text on their web site. From the downloads page: I think its because its only been a while. Good catch though, I'll send the note to Geert. Note that Frontbase always had this development license that was free. Pierce ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: FrontBase license now free!
On May 3, 2006, at 10:08 AM, David Avendasora wrote: Okay, I'll bite. Why would I want to use it over other options? Are there features (besides cost) about it that would make me use it over other databases? 1. Its a real database. IMHO it rivals Oracle, not MySQL/Postgres. 2. It supports every Foundation type directly. 3. If you pay for support, its outstanding. 4. 3 choices for db admin tools: a web server, a cocoa app, and a java app 5. The database connection library is really simple for you bare metal guys. I have a PyObjC wrapper for it in Python that lets me poke around in the database using Python. 6. My compatriot at Marketocracy just got it working with Ruby on Rails, and of course, its supported WO from the get-go. Anecdote: We did a shootout at Marketocracy, and Frontbase was faster then Oracle, and worked better with WebObjects then anything else. Frontbase easily saved us $300,000 over Oracle, if not more because: a. We could administrate it ourselves. b. Our developers could run their own databases as needed. c. Once the database is shutdown, databases just look like files so you can move them around using obscure tools like cp and mv. Pierce ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: FrontBase license now free!
Pierce T. Wetter III wrote: On May 3, 2006, at 10:08 AM, David Avendasora wrote: Okay, I'll bite. Why would I want to use it over other options? Are there features (besides cost) about it that would make me use it over other databases? 1. Its a real database. IMHO it rivals Oracle, not MySQL/Postgres. What does this mean? I don't have much experience with imaginary databases... -arturo ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: Finding nearest location, calculating distance - best way to store and sort info?
MattI've implemented something like this at www.superdiem.com, where you can find the nearest airports to a zipcode location.I wrote a query that modeled the suggested Great Circle (based on lat-long) calculation in EOQualifiers, load them into a fetchSpecification and do ec.objectsWithFetchSpecification( fs ); and the result set is what you're looking for.If you are looking for calculating distance between two lat-longs then that is a simple calculation once you have selected your two pairs. I would not recommend pre-calculating all you distance pairs. May be if you are looking to shortest distance calculations you would need to do that, but I didn't find that necessary.Paul ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: FrontBase license now free!
Hi! Good point. How does FrontBase compare do PostgreSQL in stuff like speed, reliability, data coherence, etc? Easy of use is not the most important feature in a DB for me. Yours Miguel Arroz On 2006/05/03, at 21:06, Arturo Perez wrote: 1. Its a real database. IMHO it rivals Oracle, not MySQL/Postgres. What does this mean? I don't have much experience with imaginary databases... GUERRA E' PAZ LIBERDADE E' ESCRAVIDAO IGNORANCIA E' FORCA -- 1984 Miguel Arroz http://www.ipragma.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: Cocoa Client with CoreData to WebObjects App
Hola Rey ;^)It is possible to use EOF within Cocoa ---the so-called Cocoa Enterprise Objects App--- and therefore it can interact with Core Data as with any other Framework there. However, it is not what you are thinking (if I can read your mind). You have to decide from either way; either you inherit from NSManagedObject and embeds an EOCustomObject in it, or the other way around.What I am doing this days is to use NSPersistentDocument as root of my BADocument, which embeds several EOs; this approach allows you to have some "in-site" data (like a pdf-version of the document) while preserving a centralised database thus having a truly two-tier app.I had try to extend Core Data to use EOF, but it seems like a non trivial task... the 3 types of data supported by the framework are defined in the VERY inside of it (e.g., there are 33 objects with suffix NSSQL...); hopefully Apple's engineers will do their job... soon!SuerteDinop.d., take a look tohttp://wodev.spearway.com/cgi-bin/WebObjects/WODev.woa/wa/Main?wikiPage=CocoaEOApplicationOn May 2, 2006, at 2:18 PM, [EMAIL PROTECTED] wrote:Message: 6 Date: Mon, 01 May 2006 22:43:27 -0600 From: King Chung Huang [EMAIL PROTECTED] Subject: Cocoa Client with CoreData to WebObjects App To: WebObjects List webobjects-dev@lists.apple.com Message-ID: [EMAIL PROTECTED] Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Hi, Has anyone attempted to extend CoreData to interact with a WebObjects app (three-tier model) in a similar fashion to Java Clients? I'd like to be able to write Obj-C Cocoa apps that can fully interact with EOs from an existing WebObjects application. Patching EOF into CoreData seems like an obvious path. Thanks, King Chung Huang --Ricardo Strausz[EMAIL PROTECTED]Business Applied C Objectshttp://homepage.mac.com/strausz/baco+5255 5437 8205 ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: Want to iterate over items in EditingContext for validation before save
I'm taking a poke at using ec.insertedObjects() to evaluate each object prior to saving. So far I can grab an array of the objects, although I had to cast them into EO's and not simply their entity type (code immediately following): NSArray tester = new NSArray(ec.insertedObjects()); Enumeration enumerator = tester.objectEnumerator(); while (enumerator.hasMoreElements()) { EOEnterpriseObject myObjectToTest = (EOEnterpriseObject)enumerator.nextElement(); ...} ...I'm pretty close, the next thing I'm doing is trying to gain access to the KeyValues within the EOEnterpriseObject, which I'm trying to use the following to get at this... NSArray allPropertyKeys() Returns all of the receiver's property keys. NSArray attributeKeys() Returns the names of the receiver's attributes (not relationship properties). ...however, these only seem to return the Property keys and not the properties/values. The API isn't the easiest to read. My goal is to get at the values and then to use ec.deleteObject( myObjectToTest ) when needed. What is the right method to access the Keyvalues-properties? Thanks! -Bill on 5/2/06 19:07, Ken Anderson at [EMAIL PROTECTED] wrote: No, but doing ec.deleteObject(obj) will. If the object is new and has never been saved, it will effectively be nullified. On May 2, 2006, at 10:01 PM, WebObjects wrote: Art, I'm thinking of EOEditingContext.insertedObjects() as the choice in this case. I actually thought that may be the answer here (thanks for your time on this). If I were to remove an element of the NSArray returned by this method, would then calling .saveChanges() on the ec now exclude objects removed from the array? If so is this because of the magic of WO keeping track of things? (it seems to easy, like I'm missing something) Thanks for your wisdom, -Bill on 5/2/06 18:53, Art Isbell at [EMAIL PROTECTED] wrote: On May 2, 2006, at 2:48 PM, WebObjects wrote: I've found an error in my coding style - too late in this project though. I use EOUtilities.createAndInsertInstance in a constructor for a page, and as a result 'refresh' and 'back' have become my enemies. How can I iterated over the unsaved objects in an EditingContext (ec), test their validity (ie. if ItemAt(0).getSomeValue() == null, etc) and delete them from the ec prior to .saveChanges() ? It would seem that if you can modify your code to iterate over unsaved objects, that you could also modify your constructor to fix this problem. But maybe not... EOEditingContext.insertedObjects() returns an array of inserted objects. Or probably better, assuming that you can modify your constructor, would be to create a new editing context assigned to an instance variable of this component, lock it, and insert your new objects into this new editing context. Then if the user backtracks or refreshes, only objects inserted into the editing context of the current instance of this component would be saved. Objects inserted into other instances of the same component would be freed when the component drops out of the page cache without being saved to the DB. Aloha, Art ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/webobjects% 40concyse.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/lists% 40anderhome.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: Want to iterate over items in EditingContext for validation before save
Bill, Are you only interested in one kind of EO to possibly delete? Why not check the eo's entityName(), and if it's the one you want, cast it to the right type and just send the correct methods? IE: if (myObjectToTest.entityName().equals(Item)) { Item item = (Item) myObjectToTest; if (item.methodIWantTocheck() == null) ec.deleteObject(item); } Ken On May 3, 2006, at 4:55 PM, WebObjects wrote: I'm taking a poke at using ec.insertedObjects() to evaluate each object prior to saving. So far I can grab an array of the objects, although I had to cast them into EO's and not simply their entity type (code immediately following): NSArray tester = new NSArray(ec.insertedObjects()); Enumeration enumerator = tester.objectEnumerator(); while (enumerator.hasMoreElements()) { EOEnterpriseObject myObjectToTest = (EOEnterpriseObject)enumerator.nextElement(); ...} ...I'm pretty close, the next thing I'm doing is trying to gain access to the KeyValues within the EOEnterpriseObject, which I'm trying to use the following to get at this... NSArray allPropertyKeys() Returns all of the receiver's property keys. NSArray attributeKeys() Returns the names of the receiver's attributes (not relationship properties). ...however, these only seem to return the Property keys and not the properties/values. The API isn't the easiest to read. My goal is to get at the values and then to use ec.deleteObject( myObjectToTest ) when needed. What is the right method to access the Keyvalues-properties? Thanks! -Bill on 5/2/06 19:07, Ken Anderson at [EMAIL PROTECTED] wrote: No, but doing ec.deleteObject(obj) will. If the object is new and has never been saved, it will effectively be nullified. On May 2, 2006, at 10:01 PM, WebObjects wrote: Art, I'm thinking of EOEditingContext.insertedObjects() as the choice in this case. I actually thought that may be the answer here (thanks for your time on this). If I were to remove an element of the NSArray returned by this method, would then calling .saveChanges() on the ec now exclude objects removed from the array? If so is this because of the magic of WO keeping track of things? (it seems to easy, like I'm missing something) Thanks for your wisdom, -Bill on 5/2/06 18:53, Art Isbell at [EMAIL PROTECTED] wrote: On May 2, 2006, at 2:48 PM, WebObjects wrote: I've found an error in my coding style - too late in this project though. I use EOUtilities.createAndInsertInstance in a constructor for a page, and as a result 'refresh' and 'back' have become my enemies. How can I iterated over the unsaved objects in an EditingContext (ec), test their validity (ie. if ItemAt(0).getSomeValue() == null, etc) and delete them from the ec prior to .saveChanges() ? It would seem that if you can modify your code to iterate over unsaved objects, that you could also modify your constructor to fix this problem. But maybe not... EOEditingContext.insertedObjects() returns an array of inserted objects. Or probably better, assuming that you can modify your constructor, would be to create a new editing context assigned to an instance variable of this component, lock it, and insert your new objects into this new editing context. Then if the user backtracks or refreshes, only objects inserted into the editing context of the current instance of this component would be saved. Objects inserted into other instances of the same component would be freed when the component drops out of the page cache without being saved to the DB. Aloha, Art ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/webobjects% 40concyse.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/lists% 40anderhome.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/lists% 40anderhome.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to
RE: Want to iterate over items in EditingContext for validation before save
Personally I would suggest snapshot - returns a handy-dandy dictionary of the item. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of WebObjects Sent: Wednesday, May 03, 2006 4:55 PM To: WebObjects-List Apple Subject: Re: Want to iterate over items in EditingContext for validation before save I'm taking a poke at using ec.insertedObjects() to evaluate each object prior to saving. So far I can grab an array of the objects, although I had to cast them into EO's and not simply their entity type (code immediately following): NSArray tester = new NSArray(ec.insertedObjects()); Enumeration enumerator = tester.objectEnumerator(); while (enumerator.hasMoreElements()) { EOEnterpriseObject myObjectToTest = (EOEnterpriseObject)enumerator.nextElement(); ...} ...I'm pretty close, the next thing I'm doing is trying to gain access to the KeyValues within the EOEnterpriseObject, which I'm trying to use the following to get at this... NSArray allPropertyKeys() Returns all of the receiver's property keys. NSArray attributeKeys() Returns the names of the receiver's attributes (not relationship properties). ...however, these only seem to return the Property keys and not the properties/values. The API isn't the easiest to read. My goal is to get at the values and then to use ec.deleteObject( myObjectToTest ) when needed. What is the right method to access the Keyvalues-properties? Thanks! -Bill on 5/2/06 19:07, Ken Anderson at [EMAIL PROTECTED] wrote: No, but doing ec.deleteObject(obj) will. If the object is new and has never been saved, it will effectively be nullified. On May 2, 2006, at 10:01 PM, WebObjects wrote: Art, I'm thinking of EOEditingContext.insertedObjects() as the choice in this case. I actually thought that may be the answer here (thanks for your time on this). If I were to remove an element of the NSArray returned by this method, would then calling .saveChanges() on the ec now exclude objects removed from the array? If so is this because of the magic of WO keeping track of things? (it seems to easy, like I'm missing something) Thanks for your wisdom, -Bill on 5/2/06 18:53, Art Isbell at [EMAIL PROTECTED] wrote: On May 2, 2006, at 2:48 PM, WebObjects wrote: I've found an error in my coding style - too late in this project though. I use EOUtilities.createAndInsertInstance in a constructor for a page, and as a result 'refresh' and 'back' have become my enemies. How can I iterated over the unsaved objects in an EditingContext (ec), test their validity (ie. if ItemAt(0).getSomeValue() == null, etc) and delete them from the ec prior to .saveChanges() ? It would seem that if you can modify your code to iterate over unsaved objects, that you could also modify your constructor to fix this problem. But maybe not... EOEditingContext.insertedObjects() returns an array of inserted objects. Or probably better, assuming that you can modify your constructor, would be to create a new editing context assigned to an instance variable of this component, lock it, and insert your new objects into this new editing context. Then if the user backtracks or refreshes, only objects inserted into the editing context of the current instance of this component would be saved. Objects inserted into other instances of the same component would be freed when the component drops out of the page cache without being saved to the DB. Aloha, Art ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/webobjects% 40concyse.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/lists% 40anderhome.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/cawineguy%40gmail.com This email sent to [EMAIL PROTECTED] ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: Want to iterate over items in EditingContext for validation before save
Title: Re: Want to iterate over items in EditingContext for validation before save I can't seem to get around java.lang.ClassCastException I know the EO's are of a known type, and using System.out.println(Here is entity name: + myObjectToTest.entityName()); ...but when I try to use myObjectToTest.strLastName() to access the 'Last name string' (a known method of this entity) it doesn't recognize it at compile time. When I cast the object to the entity type (just for kicks) I get the cast exception. I'm a little stuck. The code is messy (work in progress syndrome), but I've pasted it below. All help is always appreciated :) -Bill --- code segment --- NSArray tester = new NSArray(ec.insertedObjects()); Enumeration enumerator = tester.objectEnumerator(); while (enumerator.hasMoreElements()) { EOEnterpriseObject donor = (EOEnterpriseObject)enumerator.nextElement(); System.out.println(Here is entity name: + donor.entityName()); System.out.println(Here is Last Name: + donor.strLastName()); ec.deleteObject(donor); } on 5/3/06 14:01, Ken Anderson at [EMAIL PROTECTED] wrote: Bill, Are you only interested in one kind of EO to possibly delete? Why not check the eo's entityName(), and if it's the one you want, cast it to the right type and just send the correct methods? IE: if (myObjectToTest.entityName().equals(Item)) { Item item = (Item) myObjectToTest; if (item.methodIWantTocheck() == null) ec.deleteObject(item); } Ken On May 3, 2006, at 4:55 PM, WebObjects wrote: I'm taking a poke at using ec.insertedObjects() to evaluate each object prior to saving. So far I can grab an array of the objects, although I had to cast them into EO's and not simply their entity type (code immediately following): NSArray tester = new NSArray(ec.insertedObjects()); Enumeration enumerator = tester.objectEnumerator(); while (enumerator.hasMoreElements()) { EOEnterpriseObject myObjectToTest = (EOEnterpriseObject)enumerator.nextElement(); ...} ...I'm pretty close, the next thing I'm doing is trying to gain access to the KeyValues within the EOEnterpriseObject, which I'm trying to use the following to get at this... NSArray allPropertyKeys() Returns all of the receiver's property keys. NSArray attributeKeys() Returns the names of the receiver's attributes (not relationship properties). ...however, these only seem to return the Property keys and not the properties/values. The API isn't the easiest to read. My goal is to get at the values and then to use ec.deleteObject( myObjectToTest ) when needed. What is the right method to access the Keyvalues-properties? Thanks! -Bill on 5/2/06 19:07, Ken Anderson at [EMAIL PROTECTED] wrote: No, but doing ec.deleteObject(obj) will. If the object is new and has never been saved, it will effectively be nullified. On May 2, 2006, at 10:01 PM, WebObjects wrote: Art, I'm thinking of EOEditingContext.insertedObjects() as the choice in this case. I actually thought that may be the answer here (thanks for your time on this). If I were to remove an element of the NSArray returned by this method, would then calling .saveChanges() on the ec now exclude objects removed from the array? If so is this because of the magic of WO keeping track of things? (it seems to easy, like I'm missing something) Thanks for your wisdom, -Bill on 5/2/06 18:53, Art Isbell at [EMAIL PROTECTED] wrote: On May 2, 2006, at 2:48 PM, WebObjects wrote: I've found an error in my coding style - too late in this project though. I use EOUtilities.createAndInsertInstance in a constructor for a page, and as a result 'refresh' and 'back' have become my enemies. How can I iterated over the unsaved objects in an EditingContext (ec), test their validity (ie. if ItemAt(0).getSomeValue() == null, etc) and delete them from the ec prior to .saveChanges() ? It would seem that if you can modify your code to iterate over unsaved objects, that you could also modify your constructor to fix this problem. But maybe not... EOEditingContext.insertedObjects() returns an array of inserted objects. Or probably better, assuming that you can modify your constructor, would be to create a new editing context assigned to an instance variable of this component, lock it, and insert your new objects into this new editing context. Then if the user backtracks or refreshes, only objects inserted into the editing context of the current instance of this component would be saved. Objects inserted into other instances of the same component would be freed when the component drops out of the page cache without being saved to the DB. Aloha, Art ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription:
Re: Want to iterate over items in EditingContext for validation before save
Hi Bill,It might be interesting to also print donor.getClass().getName().-- MarkOn May 3, 2006, at 4:34 PM, WebObjects wrote: I can't seem to get around java.lang.ClassCastException I know the EO's are of a known type, and using System.out.println("Here is entity name: " + myObjectToTest.entityName()); ...but when I try to use "myObjectToTest.strLastName()" to access the 'Last name string' (a known method of this entity) it doesn't recognize it at compile time. When I cast the object to the entity type (just for kicks) I get the cast exception. I'm a little stuck. The code is messy (work in progress syndrome), but I've pasted it below. All help is always appreciated :) -Bill --- code segment --- NSArray tester = new NSArray(ec.insertedObjects()); Enumeration enumerator = tester.objectEnumerator(); while (enumerator.hasMoreElements()) { EOEnterpriseObject donor = (EOEnterpriseObject)enumerator.nextElement(); System.out.println("Here is entity name: " + donor.entityName()); System.out.println("Here is Last Name: " + donor.strLastName()); ec.deleteObject(donor); } on 5/3/06 14:01, Ken Anderson at [EMAIL PROTECTED] wrote: Bill,Are you only interested in one kind of EO to possibly delete? Why not check the eo's entityName(), and if it's the one you want, cast it to the right type and just send the correct methods? IE:if (myObjectToTest.entityName().equals("Item")) { Item item = (Item) myObjectToTest;if (item.methodIWantTocheck() == null) ec.deleteObject(item); }KenOn May 3, 2006, at 4:55 PM, WebObjects wrote:I'm taking a poke at using "ec.insertedObjects()" to evaluate each object prior to saving. So far I can grab an array of the objects, although I had to cast them into EO's and not simply their entity type (code immediately following): NSArray tester = new NSArray(ec.insertedObjects());Enumeration enumerator = tester.objectEnumerator(); while (enumerator.hasMoreElements()) { EOEnterpriseObject myObjectToTest = (EOEnterpriseObject)enumerator.nextElement(); ...}...I'm pretty close, the next thing I'm doing is trying to gain access to the KeyValues within the EOEnterpriseObject, which I'm trying to use the following to get at this... NSArray allPropertyKeys() Returns all of the receiver's property keys. NSArray attributeKeys() Returns the names of the receiver's attributes (not relationship properties)....however, these only seem to return the Property keys and not the properties/values. The API isn't the easiest to read. My goal is to get at the values and then to use ec.deleteObject( myObjectToTest ) when needed.What is the right method to access the Keyvalues-properties?Thanks!-Bill on 5/2/06 19:07, Ken Anderson at [EMAIL PROTECTED] wrote:No, but doing ec.deleteObject(obj) will. If the object is new and has never been saved, it will effectively be nullified.On May 2, 2006, at 10:01 PM, WebObjects wrote:Art,I'm thinking of EOEditingContext.insertedObjects() as the choice in this case. I actually thought that may be the answer here (thanks for your time on this).If I were to remove an element of the NSArray returned by this method, would then calling .saveChanges() on the ec now exclude objects removed from the array? If so is this because of the magic of WO keeping track of things? (it seems to easy, like I'm missing something)Thanks for your wisdom,-Bill on 5/2/06 18:53, Art Isbell at [EMAIL PROTECTED] wrote:On May 2, 2006, at 2:48 PM, WebObjects wrote:I've found an error in my coding style - too late in this project though. I use EOUtilities.createAndInsertInstance in a constructor for a page, and as a result 'refresh' and 'back' have become my enemies.How can I iterated over the unsaved objects in an EditingContext (ec), test their validity (ie. if ItemAt(0).getSomeValue() == null, etc) and delete them from the ec prior to .saveChanges() ?It would seem that if you can modify your code to iterate over unsaved objects, that you could also modify your constructor to fix this problem. But maybe not...EOEditingContext.insertedObjects() returns an array of inserted objects.Or probably better, assuming that you can modify your constructor, would be to create a new editing context assigned to an instance variable of this component, lock it, and insert your new objects into this new editing context. Then if the user backtracks or refreshes, only objects inserted into the editing context of the current instance of this component would be saved. Objects inserted into other instances of the same component would be freed when the component drops out of the page cache without being saved to the
Re: Want to iterate over items in EditingContext for validation before save
On 3-May-06, at 5:34 PM, WebObjects wrote: I can't seem to get around java.lang.ClassCastException I know the EO's are of a known type, and using System.out.println (Here is entity name: + myObjectToTest.entityName()); ...but when I try to use myObjectToTest.strLastName() to access the 'Last name string' (a known method of this entity) it doesn't recognize it at compile time. When I cast the object to the entity type (just for kicks) I get the cast exception. I'm a little stuck. The code is messy (work in progress syndrome), but I've pasted it below. All help is always appreciated :) EOEnterpriseObject doesn't have a method strLastName(). Investigate valueForKey instead. String lastName = (String)donor.valueForKey(strLastName); -Bill --- code segment --- NSArray tester = new NSArray(ec.insertedObjects()); Enumeration enumerator = tester.objectEnumerator(); while (enumerator.hasMoreElements()) { EOEnterpriseObject donor = (EOEnterpriseObject) enumerator.nextElement(); System.out.println(Here is entity name: + donor.entityName()); System.out.println(Here is Last Name: + donor.strLastName()); ec.deleteObject(donor); } on 5/3/06 14:01, Ken Anderson at [EMAIL PROTECTED] wrote: Bill, Are you only interested in one kind of EO to possibly delete? Why not check the eo's entityName(), and if it's the one you want, cast it to the right type and just send the correct methods? IE: if (myObjectToTest.entityName().equals(Item)) { Item item = (Item) myObjectToTest; if (item.methodIWantTocheck() == null) ec.deleteObject(item); } Ken On May 3, 2006, at 4:55 PM, WebObjects wrote: I'm taking a poke at using ec.insertedObjects() to evaluate each object prior to saving. So far I can grab an array of the objects, although I had to cast them into EO's and not simply their entity type (code immediately following): NSArray tester = new NSArray(ec.insertedObjects()); Enumeration enumerator = tester.objectEnumerator(); while (enumerator.hasMoreElements()) { EOEnterpriseObject myObjectToTest = (EOEnterpriseObject)enumerator.nextElement(); ...} ...I'm pretty close, the next thing I'm doing is trying to gain access to the KeyValues within the EOEnterpriseObject, which I'm trying to use the following to get at this... NSArray allPropertyKeys() Returns all of the receiver's property keys. NSArray attributeKeys() Returns the names of the receiver's attributes (not relationship properties). ...however, these only seem to return the Property keys and not the properties/values. The API isn't the easiest to read. My goal is to get at the values and then to use ec.deleteObject( myObjectToTest ) when needed. What is the right method to access the Keyvalues-properties? Thanks! -Bill on 5/2/06 19:07, Ken Anderson at [EMAIL PROTECTED] wrote: No, but doing ec.deleteObject(obj) will. If the object is new and has never been saved, it will effectively be nullified. On May 2, 2006, at 10:01 PM, WebObjects wrote: Art, I'm thinking of EOEditingContext.insertedObjects() as the choice in this case. I actually thought that may be the answer here (thanks for your time on this). If I were to remove an element of the NSArray returned by this method, would then calling .saveChanges() on the ec now exclude objects removed from the array? If so is this because of the magic of WO keeping track of things? (it seems to easy, like I'm missing something) Thanks for your wisdom, -Bill on 5/2/06 18:53, Art Isbell at [EMAIL PROTECTED] wrote: On May 2, 2006, at 2:48 PM, WebObjects wrote: I've found an error in my coding style - too late in this project though. I use EOUtilities.createAndInsertInstance in a constructor for a page, and as a result 'refresh' and 'back' have become my enemies. How can I iterated over the unsaved objects in an EditingContext (ec), test their validity (ie. if ItemAt(0).getSomeValue() == null, etc) and delete them from the ec prior to .saveChanges() ? It would seem that if you can modify your code to iterate over unsaved objects, that you could also modify your constructor to fix this problem. But maybe not... EOEditingContext.insertedObjects() returns an array of inserted objects. Or probably better, assuming that you can modify your constructor, would be to create a new editing context assigned to an instance variable of this component, lock it, and insert your new objects into this new editing context. Then if the user backtracks or refreshes, only objects inserted into the editing context of the current instance of this component would be saved. Objects inserted into other instances of the same component would be freed when the component drops out of the page cache without being saved to
D'OH ...
I had my super above my code in appendToResponse. Though this bug made me much more familiar with Display Groups and the RR loop. I am actually liking Display Groups too. - James Cicenia On May 3, 2006, at 1:04 PM, Paul Lynch wrote: On 3 May 2006, at 18:30, David LeBer wrote: Did you configure your DisplayGroup by draging an EO onto WOBuilder? ie: are there values for the DisplayGroup in the components .woo? That may be conflicting with your attempts to set the objectArray manually. The woo is only loaded from the constructor, so this shouldn't be a problem. Provided that the object values are being set correctly, or a dataSource constructed appropriately (like you described in your blog articles), there's not a lot to go wrong. I'd guess at two possibilities: mismatched forms, or wrong binding between components. Paul ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: Want to iterate over items in EditingContext for validation before save
Title: Re: Want to iterate over items in EditingContext for validation before save David and others, thanks s much. Here is the winner: if (donor.entityName().equals(TblDonor)) { String tempLName = (String)donor.valueForKey(strLastName); System.out.println(This is the last name I found: + tempLName); } ...I greatly appreciate the help. BTW: I dont want to assume, so Ill ask. But using ec.deleteObject(donor); it appears that the ec also knows and deletes the one-to-many inserts it has pending for it as well. Is this true? Thanks again! on 5/3/06 14:42, David LeBer at [EMAIL PROTECTED] wrote: On 3-May-06, at 5:34 PM, WebObjects wrote: I can't seem to get around java.lang.ClassCastException I know the EO's are of a known type, and using System.out.println (Here is entity name: + myObjectToTest.entityName()); ...but when I try to use myObjectToTest.strLastName() to access the 'Last name string' (a known method of this entity) it doesn't recognize it at compile time. When I cast the object to the entity type (just for kicks) I get the cast exception. I'm a little stuck. The code is messy (work in progress syndrome), but I've pasted it below. All help is always appreciated :) EOEnterpriseObject doesn't have a method strLastName(). Investigate valueForKey instead. String lastName = (String)donor.valueForKey(strLastName); -Bill --- code segment --- NSArray tester = new NSArray(ec.insertedObjects()); Enumeration enumerator = tester.objectEnumerator(); while (enumerator.hasMoreElements()) { EOEnterpriseObject donor = (EOEnterpriseObject) enumerator.nextElement(); System.out.println(Here is entity name: + donor.entityName()); System.out.println(Here is Last Name: + donor.strLastName()); ec.deleteObject(donor); } on 5/3/06 14:01, Ken Anderson at [EMAIL PROTECTED] wrote: Bill, Are you only interested in one kind of EO to possibly delete? Why not check the eo's entityName(), and if it's the one you want, cast it to the right type and just send the correct methods? IE: if (myObjectToTest.entityName().equals(Item)) { Item item = (Item) myObjectToTest; if (item.methodIWantTocheck() == null) ec.deleteObject(item); } Ken On May 3, 2006, at 4:55 PM, WebObjects wrote: I'm taking a poke at using ec.insertedObjects() to evaluate each object prior to saving. So far I can grab an array of the objects, although I had to cast them into EO's and not simply their entity type (code immediately following): NSArray tester = new NSArray(ec.insertedObjects()); Enumeration enumerator = tester.objectEnumerator(); while (enumerator.hasMoreElements()) { EOEnterpriseObject myObjectToTest = (EOEnterpriseObject)enumerator.nextElement(); ...} ...I'm pretty close, the next thing I'm doing is trying to gain access to the KeyValues within the EOEnterpriseObject, which I'm trying to use the following to get at this... NSArray allPropertyKeys() Returns all of the receiver's property keys. NSArray attributeKeys() Returns the names of the receiver's attributes (not relationship properties). ...however, these only seem to return the Property keys and not the properties/values. The API isn't the easiest to read. My goal is to get at the values and then to use ec.deleteObject( myObjectToTest ) when needed. What is the right method to access the Keyvalues-properties? Thanks! -Bill on 5/2/06 19:07, Ken Anderson at [EMAIL PROTECTED] wrote: No, but doing ec.deleteObject(obj) will. If the object is new and has never been saved, it will effectively be nullified. On May 2, 2006, at 10:01 PM, WebObjects wrote: Art, I'm thinking of EOEditingContext.insertedObjects() as the choice in this case. I actually thought that may be the answer here (thanks for your time on this). If I were to remove an element of the NSArray returned by this method, would then calling .saveChanges() on the ec now exclude objects removed from the array? If so is this because of the magic of WO keeping track of things? (it seems to easy, like I'm missing something) Thanks for your wisdom, -Bill on 5/2/06 18:53, Art Isbell at [EMAIL PROTECTED] wrote: On May 2, 2006, at 2:48 PM, WebObjects wrote: I've found an error in my coding style - too late in this project though. I use EOUtilities.createAndInsertInstance in a constructor for a page, and as a result 'refresh' and 'back' have become my enemies. How can I iterated over the unsaved objects in an EditingContext (ec), test their validity (ie. if ItemAt(0).getSomeValue() == null, etc) and delete them from the ec prior to .saveChanges() ? It would seem that if you can modify your code to iterate over unsaved objects, that you could also modify your constructor to fix this problem. But maybe not... EOEditingContext.insertedObjects() returns an array of inserted objects. Or probably better, assuming that
Re: FrontBase license now free!
On May 3, 2006, at 1:49 PM, Miguel Arroz wrote: Hi! Good point. How does FrontBase compare do PostgreSQL in stuff like speed, reliability, data coherence, etc? Easy of use is not the most important feature in a DB for me. Yours Miguel Arroz On 2006/05/03, at 21:06, Arturo Perez wrote: 1. Its a real database. IMHO it rivals Oracle, not MySQL/Postgres. What does this mean? I don't have much experience with imaginary databases... Well, for a long time, MySQL didn't have transaction support. Now it does, but only if you use the InnoDB storage. FrontBase has always had transactions. FrontBase fully supports the SQL92 standard, plus the '99 additions. here's the feature chart from their site: * Tera-byte size databases * Giga-byte size CHARACTER column values (UTF8 encoded) * Giga-byte size BLOBs and CLOBs * Datastore encryption (block mode, on the fly) * Client/server communication encryption (streaming, on the fly) * In-memory caching of tables * Row-level privileges * Sophisticated locking model * Backup of live databases * Multi-column optimized B-tree indexing with very low overhead * Replication/mirroring * Super-fast start-up times * Stored procedures and functions * Server side cursors * Query plan information * Multiple non-rectangular result sets * Clusters * Streaming QuickTime content * MySQL migration tool * FileMaker migration tool ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: FrontBase license now free!
Hi! Yes, but I did ask about PostgreSQL! :) I know that almost everything out there is better than MySQL. What I was asking for was a comparison between PgSQL and FrontBase, to know if the FrontBase advantages are good enough to make me thing about using FrontBase instead of PgSQL. Yours Miguel Arroz On 2006/05/03, at 23:39, Pierce T. Wetter III wrote: On May 3, 2006, at 1:49 PM, Miguel Arroz wrote: Hi! Good point. How does FrontBase compare do PostgreSQL in stuff like speed, reliability, data coherence, etc? Easy of use is not the most important feature in a DB for me. Yours Miguel Arroz On 2006/05/03, at 21:06, Arturo Perez wrote: 1. Its a real database. IMHO it rivals Oracle, not MySQL/Postgres. What does this mean? I don't have much experience with imaginary databases... Well, for a long time, MySQL didn't have transaction support. Now it does, but only if you use the InnoDB storage. FrontBase has always had transactions. FrontBase fully supports the SQL92 standard, plus the '99 additions. here's the feature chart from their site: * Tera-byte size databases * Giga-byte size CHARACTER column values (UTF8 encoded) * Giga-byte size BLOBs and CLOBs * Datastore encryption (block mode, on the fly) * Client/server communication encryption (streaming, on the fly) * In-memory caching of tables * Row-level privileges * Sophisticated locking model * Backup of live databases * Multi-column optimized B-tree indexing with very low overhead * Replication/mirroring * Super-fast start-up times * Stored procedures and functions * Server side cursors * Query plan information * Multiple non-rectangular result sets * Clusters * Streaming QuickTime content * MySQL migration tool * FileMaker migration tool I felt like putting a bullet between the eyes of every Panda that wouldn't scr*w to save its species. -- Fight Club Miguel Arroz http://www.ipragma.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: FrontBase license now free!
On May 3, 2006, at 3:50 PM, Miguel Arroz wrote: Hi! Yes, but I did ask about PostgreSQL! :) I know that almost everything out there is better than MySQL. What I was asking for was a comparison between PgSQL and FrontBase, to know if the FrontBase advantages are good enough to make me thing about using FrontBase instead of PgSQL. The problem with that is I don't know anything about PgSQL. 6 years ago when I was picking databases, it was kind of feeble, and not supported very well on OSX. Don't know where its at now. I do know that FB works extremely well with WO, which is why I posted that info here. :-) Pierce ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: FrontBase license now free!
Hi! From what I can see, it certainly has one advantage: clustering support. Nice! Yours Miguel Arroz On 2006/05/04, at 00:25, Pierce T. Wetter III wrote: On May 3, 2006, at 3:50 PM, Miguel Arroz wrote: Hi! Yes, but I did ask about PostgreSQL! :) I know that almost everything out there is better than MySQL. What I was asking for was a comparison between PgSQL and FrontBase, to know if the FrontBase advantages are good enough to make me thing about using FrontBase instead of PgSQL. The problem with that is I don't know anything about PgSQL. 6 years ago when I was picking databases, it was kind of feeble, and not supported very well on OSX. Don't know where its at now. I do know that FB works extremely well with WO, which is why I posted that info here. :-) Pierce The world lies in the hands of evil And we pray it would last -- Apocalyptica, Life Burns! Miguel Arroz http://www.ipragma.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com
Re: FrontBase license now free!
This is the only comparison I've seen on the subject, posted by Georg Tuparev: http://lists.apple.com/archives/webobjects-dev/2005/Dec/msg00247.html And I've heard from other sources who did extensive PG (but not FB) evaluation, that there is a significant improvement between legacy PG 7.x and newer 8.* versions... So I guess both PG and FB are good choices now :-) Andrus On May 3, 2006, at 7:31 PM, Miguel Arroz wrote: Hi! From what I can see, it certainly has one advantage: clustering support. Nice! Yours Miguel Arroz On 2006/05/04, at 00:25, Pierce T. Wetter III wrote: On May 3, 2006, at 3:50 PM, Miguel Arroz wrote: Hi! Yes, but I did ask about PostgreSQL! :) I know that almost everything out there is better than MySQL. What I was asking for was a comparison between PgSQL and FrontBase, to know if the FrontBase advantages are good enough to make me thing about using FrontBase instead of PgSQL. The problem with that is I don't know anything about PgSQL. 6 years ago when I was picking databases, it was kind of feeble, and not supported very well on OSX. Don't know where its at now. I do know that FB works extremely well with WO, which is why I posted that info here. :-) Pierce The world lies in the hands of evil And we pray it would last -- Apocalyptica, Life Burns! Miguel Arroz http://www.ipragma.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to archive@mail-archive.com