Re: AjaxModalDialog.close(context()) being ignored
Am 02.02.2011 um 06:21 schrieb Paul Hoadley: SuccessTextEmail component = ERXApplication.erxApplication().pageWithName(SuccessTextEmail.class); This will pollute the current context. Try ERXApplication.erxApplication().pageWithName(SuccessTextEmail.class, (WOContext) context().clone()) or ERXApplication.erxApplication().pageWithName(SuccessTextEmail.class, (WOContext) ERXWOContext.currentContext().clone()) instead. Timo ___ 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 arch...@mail-archive.com
Re: Handling GET Requests Redirecting
On 2011-01-28, at 9:02 PM, Pascal Robert wrote: Le 2011-01-28 à 19:15, Chuck Hill a écrit : Hi Kevin, On Jan 28, 2011, at 3:54 PM, Kevin Hinkson wrote: Hi, I'm hoping someone can help me with this problem. Let's say I have a Person object. How would I go about handling a GET request (with query strings) to delete a Person, save the changes to the database, and then redirect to a URL (not a WOComponent). Oh, and I need to have a Session available as well. Initially I thought about doing this as a WOComponent and calling one of it's methods from the constructor, but then there is no clean way to redirect the response. The alternative seemed to be to use DirectActions. That would work. But using this method seems to mean I will have to write a direct action for each action (like delete/add/edit) that I would want to perform on a particular EO. It gets even hairier if I would like to re-use these actions in an API. This seems a bit kludgy and very not the webobjects way so I think I'm missing something. Can anyone offer any suggestions? That sounds a lot like a REST interface. Have you looked at ERRest in Project Wonder? NB: My Session on awake, looks for certain cookie values, verifies hashes and loads a user account EO as a means of implementing Sign In Remember Me, then cookies are updated and added to the response in the Session sleep method. It's a lazy man's Serialized Session Store. Does this sound like an appropriate use of awake and sleep? I also mention it in case it will mess with any response changes suggested for the redirect action. Thanks. I would not call it a Serialized Session Store, but I am not sure how it will play with ERRest. +1 for ERRest! I checked out ERRest and it's working out perfectly. It's dead simple to use (so far). Thanks again guys. ___ 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 arch...@mail-archive.com
Re: Horizontal inheritance mismatch between WebObjects 5.4 and 5.3 [ was: SQL generation doesn't conform to entity inheritance]
Hello Chuck, With JavaERJDBCAdaptor or the default JavaJDBCAdaptor, the result is the same, it doesn't conform to the inheritance modeled in EntityModeler. I've got to check into ERExtensions if I can find something. I understand not everyone is using Horizontal Inheritance, but I must not be the only one trying to figure out what's going on with 5.4. Just to make sure, I've created a new Wonder framework, created only an abstract entity and 2 sub-entities with horizontal inheritance, and the generated SQL is not correct, it doesn't conform to the modeled inheritance by requesting sequence for the pk for each sub-entity instead of the abstract parent sequence. It looks to me this is a bug, I'm not 100% sure it's in Wonder or Webobjects though. Should I fill a Jira for this? I don't think this could be qualified as a regression as I don't even know if this bug was ever in 5.3. Thanks for your help, Xavier On 1 févr. 2011, at 20:24, Chuck Hill wrote: Hi Xavier, On Feb 1, 2011, at 12:42 AM, Dev WO wrote: I'm still trying to figure out what's happening... What I have found so far is that: If I'm doing: -latest 5.4 wonder frameworks except JavaERJDBCAdaptor.framework and PostgresqlPlugIn.framework from 5.3 -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance If I'm doing: -latest 5.4 wonder frameworks -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance Try it without JavaERJDBCAdaptor.framework at all (just use JavaJDBCAdaptor.framework) if I'm doing: -lastest 5.3 wonder frameworks -binding to WebObjects 5.3 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects53 in my wolips.properties) = I've got the correct behavior which is inheritance enforced when generating the SQL in EntityModeler. So I can say there is something different regarding horizontal inheritance between WebObjects 5.3 and WebObjects 5.4. Based on the first case scenario, it seems the difference occurs within WebObjects frameworks (but maybe something else is involved in the Wonder frameworks in addition to the 2 I keept from 5.3 in the first case). I don't know if this is to be considered a bug or if there's just something I should add/edit to make horizontal inheritance works under a complete 5.4 setup, but the fact that I couldn't find the same issue on the list makes me feel like the issue could at least be fixed on my side. It might be that few people are using Horizontal Inheritance.I have not noticed any problem with Single Table Inheritance. Any pointer about where to look at to ensure proper horizontal inheritance SQL generation under 5.4? Based on your evidence, I'd search for primary in ERExtensions. If nothing else, that will at least show you were in EOF the PK generation happens. Chuck On 31 janv. 2011, at 18:57, Dev WO wrote: Hello, I don't really know where the issue come from, but here's what's happening and what I've already tried to fix it (without a solution so far). I'm using Eclipse 3.6.1.M20100909 cocoa 64 WOLips 3.6.6215 PostgreSQL 8.4 WO 5.4.3 My previous setup was WO 5.3.3 with the previous major version of Eclipse (Carbon) and WOLips. The following behavior wasn't happening in this setup. I've got an Abstract entity A and a couple sub-entities, let's say SubA1 and SubA2. In the previous setup, when I generated the SQL for them, they were both correctly referring to A_seq for their primary key generation (in EntityModeler when generating SQL and while the app was running). Now they are referring to SubA1_seq and SubA2_seq (in EntityModeler and while the app is running) which breaks the entire application by providing pk that might be already taken by the other sub-entity... I first thought it could come from the PosgreSQL plugin framework, but after putting back my previous one, the issue is still there (cleaned the project after updating the framework). I'll will update WOLips right away to check if it changes anything, but if anyone has an idea on what might cause this issue and even better how to fix it to respect entity inheritance, that would be really nice:) Thanks, Xavier ___ 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%40anazys.com This email sent to webobje...@anazys.com ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list
Re: Horizontal inheritance mismatch between WebObjects 5.4 and 5.3 [ was: SQL generation doesn't conform to entity inheritance]
This sounds really familiar ... I think it was a bug in 5.4.3. ms On Feb 2, 2011, at 12:46 PM, Dev WO wrote: Hello Chuck, With JavaERJDBCAdaptor or the default JavaJDBCAdaptor, the result is the same, it doesn't conform to the inheritance modeled in EntityModeler. I've got to check into ERExtensions if I can find something. I understand not everyone is using Horizontal Inheritance, but I must not be the only one trying to figure out what's going on with 5.4. Just to make sure, I've created a new Wonder framework, created only an abstract entity and 2 sub-entities with horizontal inheritance, and the generated SQL is not correct, it doesn't conform to the modeled inheritance by requesting sequence for the pk for each sub-entity instead of the abstract parent sequence. It looks to me this is a bug, I'm not 100% sure it's in Wonder or Webobjects though. Should I fill a Jira for this? I don't think this could be qualified as a regression as I don't even know if this bug was ever in 5.3. Thanks for your help, Xavier On 1 févr. 2011, at 20:24, Chuck Hill wrote: Hi Xavier, On Feb 1, 2011, at 12:42 AM, Dev WO wrote: I'm still trying to figure out what's happening... What I have found so far is that: If I'm doing: -latest 5.4 wonder frameworks except JavaERJDBCAdaptor.framework and PostgresqlPlugIn.framework from 5.3 -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance If I'm doing: -latest 5.4 wonder frameworks -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance Try it without JavaERJDBCAdaptor.framework at all (just use JavaJDBCAdaptor.framework) if I'm doing: -lastest 5.3 wonder frameworks -binding to WebObjects 5.3 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects53 in my wolips.properties) = I've got the correct behavior which is inheritance enforced when generating the SQL in EntityModeler. So I can say there is something different regarding horizontal inheritance between WebObjects 5.3 and WebObjects 5.4. Based on the first case scenario, it seems the difference occurs within WebObjects frameworks (but maybe something else is involved in the Wonder frameworks in addition to the 2 I keept from 5.3 in the first case). I don't know if this is to be considered a bug or if there's just something I should add/edit to make horizontal inheritance works under a complete 5.4 setup, but the fact that I couldn't find the same issue on the list makes me feel like the issue could at least be fixed on my side. It might be that few people are using Horizontal Inheritance.I have not noticed any problem with Single Table Inheritance. Any pointer about where to look at to ensure proper horizontal inheritance SQL generation under 5.4? Based on your evidence, I'd search for primary in ERExtensions. If nothing else, that will at least show you were in EOF the PK generation happens. Chuck On 31 janv. 2011, at 18:57, Dev WO wrote: Hello, I don't really know where the issue come from, but here's what's happening and what I've already tried to fix it (without a solution so far). I'm using Eclipse 3.6.1.M20100909 cocoa 64 WOLips 3.6.6215 PostgreSQL 8.4 WO 5.4.3 My previous setup was WO 5.3.3 with the previous major version of Eclipse (Carbon) and WOLips. The following behavior wasn't happening in this setup. I've got an Abstract entity A and a couple sub-entities, let's say SubA1 and SubA2. In the previous setup, when I generated the SQL for them, they were both correctly referring to A_seq for their primary key generation (in EntityModeler when generating SQL and while the app was running). Now they are referring to SubA1_seq and SubA2_seq (in EntityModeler and while the app is running) which breaks the entire application by providing pk that might be already taken by the other sub-entity... I first thought it could come from the PosgreSQL plugin framework, but after putting back my previous one, the issue is still there (cleaned the project after updating the framework). I'll will update WOLips right away to check if it changes anything, but if anyone has an idea on what might cause this issue and even better how to fix it to respect entity inheritance, that would be really nice:) Thanks, Xavier ___ 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%40anazys.com This email sent to webobje...@anazys.com
Re: Horizontal inheritance mismatch between WebObjects 5.4 and 5.3 [ was: SQL generation doesn't conform to entity inheritance]
Hi Xavier, Can you paste the .plist files for the three Entities (the super and two subclasses) into this email? I'm suspecting that there maybe something wrong with the way it is modeled... What if you manually create the database tables and the sequence instead of letting EntityModeler generate the SQL for them? Does creating and saving new instances of the subclasses work? What I'm trying to figure out is if this is a problem with just the Create Table statements generated by the plugin, or a more fundamental problem with how EOF is using Horizontal Inheritance. Dave On Feb 2, 2011, at 12:46 PM, Dev WO wrote: Hello Chuck, With JavaERJDBCAdaptor or the default JavaJDBCAdaptor, the result is the same, it doesn't conform to the inheritance modeled in EntityModeler. I've got to check into ERExtensions if I can find something. I understand not everyone is using Horizontal Inheritance, but I must not be the only one trying to figure out what's going on with 5.4. Just to make sure, I've created a new Wonder framework, created only an abstract entity and 2 sub-entities with horizontal inheritance, and the generated SQL is not correct, it doesn't conform to the modeled inheritance by requesting sequence for the pk for each sub-entity instead of the abstract parent sequence. It looks to me this is a bug, I'm not 100% sure it's in Wonder or Webobjects though. Should I fill a Jira for this? I don't think this could be qualified as a regression as I don't even know if this bug was ever in 5.3. Thanks for your help, Xavier On 1 févr. 2011, at 20:24, Chuck Hill wrote: Hi Xavier, On Feb 1, 2011, at 12:42 AM, Dev WO wrote: I'm still trying to figure out what's happening... What I have found so far is that: If I'm doing: -latest 5.4 wonder frameworks except JavaERJDBCAdaptor.framework and PostgresqlPlugIn.framework from 5.3 -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance If I'm doing: -latest 5.4 wonder frameworks -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance Try it without JavaERJDBCAdaptor.framework at all (just use JavaJDBCAdaptor.framework) if I'm doing: -lastest 5.3 wonder frameworks -binding to WebObjects 5.3 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects53 in my wolips.properties) = I've got the correct behavior which is inheritance enforced when generating the SQL in EntityModeler. So I can say there is something different regarding horizontal inheritance between WebObjects 5.3 and WebObjects 5.4. Based on the first case scenario, it seems the difference occurs within WebObjects frameworks (but maybe something else is involved in the Wonder frameworks in addition to the 2 I keept from 5.3 in the first case). I don't know if this is to be considered a bug or if there's just something I should add/edit to make horizontal inheritance works under a complete 5.4 setup, but the fact that I couldn't find the same issue on the list makes me feel like the issue could at least be fixed on my side. It might be that few people are using Horizontal Inheritance.I have not noticed any problem with Single Table Inheritance. Any pointer about where to look at to ensure proper horizontal inheritance SQL generation under 5.4? Based on your evidence, I'd search for primary in ERExtensions. If nothing else, that will at least show you were in EOF the PK generation happens. Chuck On 31 janv. 2011, at 18:57, Dev WO wrote: Hello, I don't really know where the issue come from, but here's what's happening and what I've already tried to fix it (without a solution so far). I'm using Eclipse 3.6.1.M20100909 cocoa 64 WOLips 3.6.6215 PostgreSQL 8.4 WO 5.4.3 My previous setup was WO 5.3.3 with the previous major version of Eclipse (Carbon) and WOLips. The following behavior wasn't happening in this setup. I've got an Abstract entity A and a couple sub-entities, let's say SubA1 and SubA2. In the previous setup, when I generated the SQL for them, they were both correctly referring to A_seq for their primary key generation (in EntityModeler when generating SQL and while the app was running). Now they are referring to SubA1_seq and SubA2_seq (in EntityModeler and while the app is running) which breaks the entire application by providing pk that might be already taken by the other sub-entity... I first thought it could come from the PosgreSQL plugin framework, but after putting back my previous one, the issue is still there (cleaned the project after updating the framework). I'll will update WOLips right away to check if it changes anything, but if anyone has an idea on what might
AjaxTabbedPanel - Implementation changes
Hi Chuck, As explained in the email below, I have implemented AjaxTabbedPanel and AjaxTabbedPanelTab 's, in each Tab I am loading a component page and from that page I am navigating to the next page using AjaxSubmitButton action. From the first page I am able to successfully navigate to the second page, and when I tried to navigate from the second page to third page using AjaxSubmitButton action but it is invoking the first page's AjaxSubmitButton action method. The second page AjaxSubmitButton action method is not being called, and not able to navigate to the third page. Please suggest how to handle multiple ajax submit actions in the same AjaxTabbedPanelTab page navigations. Only the main page that has AjaxTabbedPanel and AjaxTabbedPanelTab 's have WOForm with multipleSubmit = true. The component pages loaded in the Tab and navigated does not have any form in those pages. Regards, Raghu. On 02-Feb-11, at 12:58 AM, Chuck Hill wrote: On Feb 1, 2011, at 10:54 AM, Raghavender wrote: Hi Chuck, I have implemented AjaxTabbedPanel with eight AjaxTabbedPanelTab 's, in each Tab I am loading a component page. And in that component page I have next submit button that takes the user input data from this page to next component page. In this way I have to keep navigating to three to four component pages in each AjaxTabbedPanelTab. All these three or four component pages should be keep navigating in the same AjaxTabbedPanelTab. For example a Admin User selects a Test Results tab, and in that Tab the District selection page is displayed, after the district is selected then user clicks on next button to move to School selection page then move to next page for Students selection and finally generates a report. All these component pages are extended ERXComponent and now in order to achieve complete Ajax based application and keep tracking of data while navigating from one page to another in the same AjaxTabbedPanelTab, what changes have to be made, please suggest. My best suggestion is to come up with a better UI!. What you want to do might just work if you manipulate the selected bindings in code. Chuck On 31-Jan-11, at 11:54 PM, Chuck Hill wrote: On Jan 31, 2011, at 7:19 AM, Raghavender wrote: Hi Chuck, I have loaded a component page in the AjaxTabbedPannedTab, in that page when I am trying to do some action (in that subcomponent page) then the page is getting cleared off. Any suggestions. Make sure that isSelected is bound to a boolean variable. Chuck On 29-Jan-11, at 10:15 AM, Raghavender wrote: Thanks a lot Chuck, I have updated Wonder frameworks and the issue got resolved. Now I am able to see the AjaxTabbedPannel and Tabs. Thanks, Raghu. On 29-Jan-11, at 8:27 AM, Chuck Hill wrote: Caused by: java.lang.NullPointerException at er.ajax.AjaxTabbedPanel.findTabs(AjaxTabbedPanel.java:94) I have no idea what you have on that line, that is an old version.Check your source at that line.Or update Wonder and see if the problem goes away. Chuck On Jan 28, 2011, at 6:09 PM, Raghavender wrote: Hi Chuck, WOActionResults res = super.invokeAction(aRequest, aContext); ... return ((WOComponent)res);// Exception occurring at this line-151. I have changed the casting from WOResponse to WOComponent, and now the error in the Session invokeAction(. .) method is not occurring. But the exception (InvokeTargetException) is occurring in the my Application's dispatchRequest(.) method, getting the following exception: Also I see a NullPointerException from the AjaxTabbedPanel class at the end of the following exception: --- 29193 [WorkerThread15] INFO NSLog - DDStartPage name: DDStartPage subcomponents: null 29203 [WorkerThread15] WARN NSLog - com.webobjects.appserver._private.WOComponentRequestHandler: Exception occurred while handling request: com.webobjects.foundation.NSForwardException [java.lang.reflect.InvocationTargetException] null:java.lang.reflect.InvocationTargetException [2011-1-28 14:16:3 EST] WorkerThread15 com.webobjects.foundation.NSForwardException [java.lang.reflect.InvocationTargetException] null:java.lang.reflect.InvocationTargetException at com .webobjects .foundation ._NSUtilities._explainInstantiationException(_NSUtilities.java: 600) at com .webobjects .foundation._NSUtilities.instantiateObject(_NSUtilities.java: 620) at com .webobjects .appserver .WOApplication.dynamicElementWithName(WOApplication.java:2404) at com .webobjects .appserver .parser .WOHTMLWebObjectTag._elementWithClass(WOHTMLWebObjectTag.java: 179) at com .webobjects .appserver .parser .WOHTMLWebObjectTag ._elementWithDeclaration(WOHTMLWebObjectTag.java:234) at com
Re: AjaxTabbedPanel - Implementation changes
What you are doing is not something that I have used the AjaxTabbedPanel for, nor something I expected it to be used for. I suspect the problem is in your code, but if you do find a bug in the AjaxTabbedPanel source, patches are welcome. http://wiki.objectstyle.org/confluence/display/WONDER/Creating+and+Submitting+an+Acceptable+Patch Chuck On Feb 2, 2011, at 11:23 AM, Raghavender wrote: Hi Chuck, As explained in the email below, I have implemented AjaxTabbedPanel and AjaxTabbedPanelTab 's, in each Tab I am loading a component page and from that page I am navigating to the next page using AjaxSubmitButton action. From the first page I am able to successfully navigate to the second page, and when I tried to navigate from the second page to third page using AjaxSubmitButton action but it is invoking the first page's AjaxSubmitButton action method. The second page AjaxSubmitButton action method is not being called, and not able to navigate to the third page. Please suggest how to handle multiple ajax submit actions in the same AjaxTabbedPanelTab page navigations. Only the main page that has AjaxTabbedPanel and AjaxTabbedPanelTab 's have WOForm with multipleSubmit = true. The component pages loaded in the Tab and navigated does not have any form in those pages. Regards, Raghu. On 02-Feb-11, at 12:58 AM, Chuck Hill wrote: On Feb 1, 2011, at 10:54 AM, Raghavender wrote: Hi Chuck, I have implemented AjaxTabbedPanel with eight AjaxTabbedPanelTab 's, in each Tab I am loading a component page. And in that component page I have next submit button that takes the user input data from this page to next component page. In this way I have to keep navigating to three to four component pages in each AjaxTabbedPanelTab. All these three or four component pages should be keep navigating in the same AjaxTabbedPanelTab. For example a Admin User selects a Test Results tab, and in that Tab the District selection page is displayed, after the district is selected then user clicks on next button to move to School selection page then move to next page for Students selection and finally generates a report. All these component pages are extended ERXComponent and now in order to achieve complete Ajax based application and keep tracking of data while navigating from one page to another in the same AjaxTabbedPanelTab, what changes have to be made, please suggest. My best suggestion is to come up with a better UI!. What you want to do might just work if you manipulate the selected bindings in code. Chuck On 31-Jan-11, at 11:54 PM, Chuck Hill wrote: On Jan 31, 2011, at 7:19 AM, Raghavender wrote: Hi Chuck, I have loaded a component page in the AjaxTabbedPannedTab, in that page when I am trying to do some action (in that subcomponent page) then the page is getting cleared off. Any suggestions. Make sure that isSelected is bound to a boolean variable. Chuck On 29-Jan-11, at 10:15 AM, Raghavender wrote: Thanks a lot Chuck, I have updated Wonder frameworks and the issue got resolved. Now I am able to see the AjaxTabbedPannel and Tabs. Thanks, Raghu. On 29-Jan-11, at 8:27 AM, Chuck Hill wrote: Caused by: java.lang.NullPointerException at er.ajax.AjaxTabbedPanel.findTabs(AjaxTabbedPanel.java:94) I have no idea what you have on that line, that is an old version. Check your source at that line.Or update Wonder and see if the problem goes away. Chuck On Jan 28, 2011, at 6:09 PM, Raghavender wrote: Hi Chuck, WOActionResults res = super.invokeAction(aRequest, aContext); ... return ((WOComponent)res);// Exception occurring at this line-151. I have changed the casting from WOResponse to WOComponent, and now the error in the Session invokeAction(. .) method is not occurring. But the exception (InvokeTargetException) is occurring in the my Application's dispatchRequest(.) method, getting the following exception: Also I see a NullPointerException from the AjaxTabbedPanel class at the end of the following exception: --- 29193 [WorkerThread15] INFO NSLog - DDStartPage name: DDStartPage subcomponents: null 29203 [WorkerThread15] WARN NSLog - com.webobjects.appserver._private.WOComponentRequestHandler: Exception occurred while handling request: com.webobjects.foundation.NSForwardException [java.lang.reflect.InvocationTargetException] null:java.lang.reflect.InvocationTargetException [2011-1-28 14:16:3 EST] WorkerThread15 com.webobjects.foundation.NSForwardException [java.lang.reflect.InvocationTargetException] null:java.lang.reflect.InvocationTargetException at com.webobjects.foundation._NSUtilities._explainInstantiationException(_NSUtilities.java:600) at
Re: Horizontal inheritance mismatch between WebObjects 5.4 and 5.3 [ was: SQL generation doesn't conform to entity inheritance]
This sounds really familiar ... I think it was a bug in 5.4.3. OK, and as I wouldn't hold my breath for 5.4.4 is there a way to fix it:) Xavier ms On Feb 2, 2011, at 12:46 PM, Dev WO wrote: Hello Chuck, With JavaERJDBCAdaptor or the default JavaJDBCAdaptor, the result is the same, it doesn't conform to the inheritance modeled in EntityModeler. I've got to check into ERExtensions if I can find something. I understand not everyone is using Horizontal Inheritance, but I must not be the only one trying to figure out what's going on with 5.4. Just to make sure, I've created a new Wonder framework, created only an abstract entity and 2 sub-entities with horizontal inheritance, and the generated SQL is not correct, it doesn't conform to the modeled inheritance by requesting sequence for the pk for each sub-entity instead of the abstract parent sequence. It looks to me this is a bug, I'm not 100% sure it's in Wonder or Webobjects though. Should I fill a Jira for this? I don't think this could be qualified as a regression as I don't even know if this bug was ever in 5.3. Thanks for your help, Xavier On 1 févr. 2011, at 20:24, Chuck Hill wrote: Hi Xavier, On Feb 1, 2011, at 12:42 AM, Dev WO wrote: I'm still trying to figure out what's happening... What I have found so far is that: If I'm doing: -latest 5.4 wonder frameworks except JavaERJDBCAdaptor.framework and PostgresqlPlugIn.framework from 5.3 -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance If I'm doing: -latest 5.4 wonder frameworks -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance Try it without JavaERJDBCAdaptor.framework at all (just use JavaJDBCAdaptor.framework) if I'm doing: -lastest 5.3 wonder frameworks -binding to WebObjects 5.3 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects53 in my wolips.properties) = I've got the correct behavior which is inheritance enforced when generating the SQL in EntityModeler. So I can say there is something different regarding horizontal inheritance between WebObjects 5.3 and WebObjects 5.4. Based on the first case scenario, it seems the difference occurs within WebObjects frameworks (but maybe something else is involved in the Wonder frameworks in addition to the 2 I keept from 5.3 in the first case). I don't know if this is to be considered a bug or if there's just something I should add/edit to make horizontal inheritance works under a complete 5.4 setup, but the fact that I couldn't find the same issue on the list makes me feel like the issue could at least be fixed on my side. It might be that few people are using Horizontal Inheritance.I have not noticed any problem with Single Table Inheritance. Any pointer about where to look at to ensure proper horizontal inheritance SQL generation under 5.4? Based on your evidence, I'd search for primary in ERExtensions. If nothing else, that will at least show you were in EOF the PK generation happens. Chuck On 31 janv. 2011, at 18:57, Dev WO wrote: Hello, I don't really know where the issue come from, but here's what's happening and what I've already tried to fix it (without a solution so far). I'm using Eclipse 3.6.1.M20100909 cocoa 64 WOLips 3.6.6215 PostgreSQL 8.4 WO 5.4.3 My previous setup was WO 5.3.3 with the previous major version of Eclipse (Carbon) and WOLips. The following behavior wasn't happening in this setup. I've got an Abstract entity A and a couple sub-entities, let's say SubA1 and SubA2. In the previous setup, when I generated the SQL for them, they were both correctly referring to A_seq for their primary key generation (in EntityModeler when generating SQL and while the app was running). Now they are referring to SubA1_seq and SubA2_seq (in EntityModeler and while the app is running) which breaks the entire application by providing pk that might be already taken by the other sub-entity... I first thought it could come from the PosgreSQL plugin framework, but after putting back my previous one, the issue is still there (cleaned the project after updating the framework). I'll will update WOLips right away to check if it changes anything, but if anyone has an idea on what might cause this issue and even better how to fix it to respect entity inheritance, that would be really nice:) Thanks, Xavier ___ 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: Horizontal inheritance mismatch between WebObjects 5.4 and 5.3 [ was: SQL generation doesn't conform to entity inheritance]
Sure Dave, here they are: parent entity { attributes = ( {allowsNull = N; name = id; prototypeName = id; }, {allowsNull = Y; columnName = name; name = name; prototypeName = varchar255; } ); attributesUsedForLocking = (id); className = com.anazys.tempFrameworkWonder54.Core; classProperties = (name); fetchSpecificationDictionary = {}; isAbstractEntity = Y; name = Core; primaryKeyAttributes = (id); } subclass Employee { attributes = ( {allowsNull = N; name = id; prototypeName = id; }, {allowsNull = Y; columnName = name; name = name; prototypeName = varchar255; } ); attributesUsedForLocking = (id); className = com.anazys.tempFrameworkWonder54.Employee; classProperties = (name); externalName = Employee; fetchSpecificationDictionary = {}; name = Employee; parent = Core; primaryKeyAttributes = (id); } subclass Customer { attributes = ( {allowsNull = N; name = id; prototypeName = id; }, {allowsNull = Y; columnName = name; name = name; prototypeName = varchar255; } ); attributesUsedForLocking = (id); className = com.anazys.tempFrameworkWonder54.Customer; classProperties = (name); externalName = Customer; fetchSpecificationDictionary = {}; name = Customer; parent = Core; primaryKeyAttributes = (id); } I could edit the code for the SQL when generating the database, but the issue is really in production, if I update the app, it will start to generate pk based on the sub-entity, and I will end up with duplicate pks between various sub-classes. So the SQL generated by EntityModeler is just a way to check if it's going to break the current app, not really for that specific action. Xavier On 2 févr. 2011, at 19:05, David Avendasora wrote: Hi Xavier, Can you paste the .plist files for the three Entities (the super and two subclasses) into this email? I'm suspecting that there maybe something wrong with the way it is modeled... What if you manually create the database tables and the sequence instead of letting EntityModeler generate the SQL for them? Does creating and saving new instances of the subclasses work? What I'm trying to figure out is if this is a problem with just the Create Table statements generated by the plugin, or a more fundamental problem with how EOF is using Horizontal Inheritance. Dave On Feb 2, 2011, at 12:46 PM, Dev WO wrote: Hello Chuck, With JavaERJDBCAdaptor or the default JavaJDBCAdaptor, the result is the same, it doesn't conform to the inheritance modeled in EntityModeler. I've got to check into ERExtensions if I can find something. I understand not everyone is using Horizontal Inheritance, but I must not be the only one trying to figure out what's going on with 5.4. Just to make sure, I've created a new Wonder framework, created only an abstract entity and 2 sub-entities with horizontal inheritance, and the generated SQL is not correct, it doesn't conform to the modeled inheritance by requesting sequence for the pk for each sub-entity instead of the abstract parent sequence. It looks to me this is a bug, I'm not 100% sure it's in Wonder or Webobjects though. Should I fill a Jira for this? I don't think this could be qualified as a regression as I don't even know if this bug was ever in 5.3. Thanks for your help, Xavier On 1 févr. 2011, at 20:24, Chuck Hill wrote: Hi Xavier, On Feb 1, 2011, at 12:42 AM, Dev WO wrote: I'm still trying to figure out what's happening... What I have found so far is that: If I'm doing: -latest 5.4 wonder frameworks except JavaERJDBCAdaptor.framework and PostgresqlPlugIn.framework from 5.3 -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance If I'm doing: -latest 5.4 wonder frameworks -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance Try it without JavaERJDBCAdaptor.framework at all (just use JavaJDBCAdaptor.framework) if I'm doing: -lastest 5.3 wonder frameworks -binding to WebObjects 5.3 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects53 in my wolips.properties) = I've got the correct behavior which is inheritance enforced when generating the SQL in EntityModeler. So I can say there is something different regarding horizontal inheritance between WebObjects 5.3 and WebObjects 5.4. Based on the first case scenario, it seems the difference occurs within WebObjects frameworks (but maybe something else is involved in the Wonder frameworks in addition to the 2 I keept from 5.3 in the first case). I don't know if this is to be considered a bug or if there's just something I
Re: Horizontal inheritance mismatch between WebObjects 5.4 and 5.3 [ was: SQL generation doesn't conform to entity inheritance]
On Feb 2, 2011, at 12:36 PM, Dev WO wrote: This sounds really familiar ... I think it was a bug in 5.4.3. OK, and as I wouldn't hold my breath for 5.4.4 is there a way to fix it:) It can probably be fixed in Wonder. But first you have to identify where the problem is and what the fix is. :-) Chuck On Feb 2, 2011, at 12:46 PM, Dev WO wrote: Hello Chuck, With JavaERJDBCAdaptor or the default JavaJDBCAdaptor, the result is the same, it doesn't conform to the inheritance modeled in EntityModeler. I've got to check into ERExtensions if I can find something. I understand not everyone is using Horizontal Inheritance, but I must not be the only one trying to figure out what's going on with 5.4. Just to make sure, I've created a new Wonder framework, created only an abstract entity and 2 sub-entities with horizontal inheritance, and the generated SQL is not correct, it doesn't conform to the modeled inheritance by requesting sequence for the pk for each sub-entity instead of the abstract parent sequence. It looks to me this is a bug, I'm not 100% sure it's in Wonder or Webobjects though. Should I fill a Jira for this? I don't think this could be qualified as a regression as I don't even know if this bug was ever in 5.3. Thanks for your help, Xavier On 1 févr. 2011, at 20:24, Chuck Hill wrote: Hi Xavier, On Feb 1, 2011, at 12:42 AM, Dev WO wrote: I'm still trying to figure out what's happening... What I have found so far is that: If I'm doing: -latest 5.4 wonder frameworks except JavaERJDBCAdaptor.framework and PostgresqlPlugIn.framework from 5.3 -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance If I'm doing: -latest 5.4 wonder frameworks -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance Try it without JavaERJDBCAdaptor.framework at all (just use JavaJDBCAdaptor.framework) if I'm doing: -lastest 5.3 wonder frameworks -binding to WebObjects 5.3 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects53 in my wolips.properties) = I've got the correct behavior which is inheritance enforced when generating the SQL in EntityModeler. So I can say there is something different regarding horizontal inheritance between WebObjects 5.3 and WebObjects 5.4. Based on the first case scenario, it seems the difference occurs within WebObjects frameworks (but maybe something else is involved in the Wonder frameworks in addition to the 2 I keept from 5.3 in the first case). I don't know if this is to be considered a bug or if there's just something I should add/edit to make horizontal inheritance works under a complete 5.4 setup, but the fact that I couldn't find the same issue on the list makes me feel like the issue could at least be fixed on my side. It might be that few people are using Horizontal Inheritance.I have not noticed any problem with Single Table Inheritance. Any pointer about where to look at to ensure proper horizontal inheritance SQL generation under 5.4? Based on your evidence, I'd search for primary in ERExtensions. If nothing else, that will at least show you were in EOF the PK generation happens. Chuck On 31 janv. 2011, at 18:57, Dev WO wrote: Hello, I don't really know where the issue come from, but here's what's happening and what I've already tried to fix it (without a solution so far). I'm using Eclipse 3.6.1.M20100909 cocoa 64 WOLips 3.6.6215 PostgreSQL 8.4 WO 5.4.3 My previous setup was WO 5.3.3 with the previous major version of Eclipse (Carbon) and WOLips. The following behavior wasn't happening in this setup. I've got an Abstract entity A and a couple sub-entities, let's say SubA1 and SubA2. In the previous setup, when I generated the SQL for them, they were both correctly referring to A_seq for their primary key generation (in EntityModeler when generating SQL and while the app was running). Now they are referring to SubA1_seq and SubA2_seq (in EntityModeler and while the app is running) which breaks the entire application by providing pk that might be already taken by the other sub-entity... I first thought it could come from the PosgreSQL plugin framework, but after putting back my previous one, the issue is still there (cleaned the project after updating the framework). I'll will update WOLips right away to check if it changes anything, but if anyone has an idea on what might cause this issue and even better how to fix it to respect entity inheritance, that would be really nice:) Thanks, Xavier ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing
Re: AjaxModalDialog.close(context()) being ignored
On Feb 1, 2011, at 9:21 PM, Paul Hoadley wrote: Hi Chuck, On 02/02/2011, at 2:40 PM, Chuck Hill wrote: You can also use the JS AMD.close(); to close it. You should not NEED to do this, but it may provide a clue as to what is or is not wrong. I've added that to the 'onComplete' binding, and it solves the problem (with and without 'evalScripts=$true'). It's a bit unsatisfying though—I wonder why AjaxModalDialog.close(context()) is working for some buttons but not others. It has to be one of two things: - the time to close message is not getting to the server - the hide the dialog message is not getting to the browser The first implies the second. Could there be a structure change in the page that is making the button not exist? Otherwise, you will need to use the source and take a look at what is getting to the server and what is getting sent back. There shouldn't be a structural change, no, but I will check. Meanwhile, I've stumbled across what is presumably the relevant difference in the action methods: the problem button's action method sends some emails using (indirectly) ERMailDelivery. At some point a WOComponent is created (even for plain text mails—good templating system), for example: SuccessTextEmail component = ERXApplication.erxApplication().pageWithName(SuccessTextEmail.class); Commenting out the component creation (and returning some dummy text instead) lets the AMD close as intended. Is this component creation messing with the operation of AjaxModalDialog.close(WOContext)? As Timo pointed out, that will mess up the current context. It might also mess with the response. That is probably causing this code: currentDialog(context).closeDialog(); AjaxUtils.javascriptResponse(AjaxModalDialog.Close, context); to send back an unusable response. I would be interested to know what is getting sent back to see if we can find a way to get the AMD to play nice. Chuck -- Chuck Hill Senior Consultant / VP Development 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 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 arch...@mail-archive.com
Re: Horizontal inheritance mismatch between WebObjects 5.4 and 5.3 [ was: SQL generation doesn't conform to entity inheritance]
see what entity.primaryKeyRootName() returns for each of the entities involved ... actually on your abstract entity, did you set an external name? make sure you set that -- external name on the root entity is what is used in 5.4.3 to determine what sequence to generate. ms On Feb 2, 2011, at 3:42 PM, Chuck Hill wrote: On Feb 2, 2011, at 12:36 PM, Dev WO wrote: This sounds really familiar ... I think it was a bug in 5.4.3. OK, and as I wouldn't hold my breath for 5.4.4 is there a way to fix it:) It can probably be fixed in Wonder. But first you have to identify where the problem is and what the fix is. :-) Chuck On Feb 2, 2011, at 12:46 PM, Dev WO wrote: Hello Chuck, With JavaERJDBCAdaptor or the default JavaJDBCAdaptor, the result is the same, it doesn't conform to the inheritance modeled in EntityModeler. I've got to check into ERExtensions if I can find something. I understand not everyone is using Horizontal Inheritance, but I must not be the only one trying to figure out what's going on with 5.4. Just to make sure, I've created a new Wonder framework, created only an abstract entity and 2 sub-entities with horizontal inheritance, and the generated SQL is not correct, it doesn't conform to the modeled inheritance by requesting sequence for the pk for each sub-entity instead of the abstract parent sequence. It looks to me this is a bug, I'm not 100% sure it's in Wonder or Webobjects though. Should I fill a Jira for this? I don't think this could be qualified as a regression as I don't even know if this bug was ever in 5.3. Thanks for your help, Xavier On 1 févr. 2011, at 20:24, Chuck Hill wrote: Hi Xavier, On Feb 1, 2011, at 12:42 AM, Dev WO wrote: I'm still trying to figure out what's happening... What I have found so far is that: If I'm doing: -latest 5.4 wonder frameworks except JavaERJDBCAdaptor.framework and PostgresqlPlugIn.framework from 5.3 -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance If I'm doing: -latest 5.4 wonder frameworks -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance Try it without JavaERJDBCAdaptor.framework at all (just use JavaJDBCAdaptor.framework) if I'm doing: -lastest 5.3 wonder frameworks -binding to WebObjects 5.3 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects53 in my wolips.properties) = I've got the correct behavior which is inheritance enforced when generating the SQL in EntityModeler. So I can say there is something different regarding horizontal inheritance between WebObjects 5.3 and WebObjects 5.4. Based on the first case scenario, it seems the difference occurs within WebObjects frameworks (but maybe something else is involved in the Wonder frameworks in addition to the 2 I keept from 5.3 in the first case). I don't know if this is to be considered a bug or if there's just something I should add/edit to make horizontal inheritance works under a complete 5.4 setup, but the fact that I couldn't find the same issue on the list makes me feel like the issue could at least be fixed on my side. It might be that few people are using Horizontal Inheritance.I have not noticed any problem with Single Table Inheritance. Any pointer about where to look at to ensure proper horizontal inheritance SQL generation under 5.4? Based on your evidence, I'd search for primary in ERExtensions. If nothing else, that will at least show you were in EOF the PK generation happens. Chuck On 31 janv. 2011, at 18:57, Dev WO wrote: Hello, I don't really know where the issue come from, but here's what's happening and what I've already tried to fix it (without a solution so far). I'm using Eclipse 3.6.1.M20100909 cocoa 64 WOLips 3.6.6215 PostgreSQL 8.4 WO 5.4.3 My previous setup was WO 5.3.3 with the previous major version of Eclipse (Carbon) and WOLips. The following behavior wasn't happening in this setup. I've got an Abstract entity A and a couple sub-entities, let's say SubA1 and SubA2. In the previous setup, when I generated the SQL for them, they were both correctly referring to A_seq for their primary key generation (in EntityModeler when generating SQL and while the app was running). Now they are referring to SubA1_seq and SubA2_seq (in EntityModeler and while the app is running) which breaks the entire application by providing pk that might be already taken by the other sub-entity... I first thought it could come from the PosgreSQL plugin framework, but after putting back my previous one, the issue is still there (cleaned the project after updating the framework). I'll will update WOLips right away
Re: Horizontal inheritance mismatch between WebObjects 5.4 and 5.3 [ was: SQL generation doesn't conform to entity inheritance]
see what entity.primaryKeyRootName() returns for each of the entities involved ... actually on your abstract entity, did you set an external name? make sure you set that -- external name on the root entity is what is used in 5.4.3 to determine what sequence to generate. I was about to try this, but actually, where did you set the external name in Entity Modeler?? I just have a name field:( Xavier ms On Feb 2, 2011, at 3:42 PM, Chuck Hill wrote: On Feb 2, 2011, at 12:36 PM, Dev WO wrote: This sounds really familiar ... I think it was a bug in 5.4.3. OK, and as I wouldn't hold my breath for 5.4.4 is there a way to fix it:) It can probably be fixed in Wonder. But first you have to identify where the problem is and what the fix is. :-) Chuck On Feb 2, 2011, at 12:46 PM, Dev WO wrote: Hello Chuck, With JavaERJDBCAdaptor or the default JavaJDBCAdaptor, the result is the same, it doesn't conform to the inheritance modeled in EntityModeler. I've got to check into ERExtensions if I can find something. I understand not everyone is using Horizontal Inheritance, but I must not be the only one trying to figure out what's going on with 5.4. Just to make sure, I've created a new Wonder framework, created only an abstract entity and 2 sub-entities with horizontal inheritance, and the generated SQL is not correct, it doesn't conform to the modeled inheritance by requesting sequence for the pk for each sub-entity instead of the abstract parent sequence. It looks to me this is a bug, I'm not 100% sure it's in Wonder or Webobjects though. Should I fill a Jira for this? I don't think this could be qualified as a regression as I don't even know if this bug was ever in 5.3. Thanks for your help, Xavier On 1 févr. 2011, at 20:24, Chuck Hill wrote: Hi Xavier, On Feb 1, 2011, at 12:42 AM, Dev WO wrote: I'm still trying to figure out what's happening... What I have found so far is that: If I'm doing: -latest 5.4 wonder frameworks except JavaERJDBCAdaptor.framework and PostgresqlPlugIn.framework from 5.3 -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance If I'm doing: -latest 5.4 wonder frameworks -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance Try it without JavaERJDBCAdaptor.framework at all (just use JavaJDBCAdaptor.framework) if I'm doing: -lastest 5.3 wonder frameworks -binding to WebObjects 5.3 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects53 in my wolips.properties) = I've got the correct behavior which is inheritance enforced when generating the SQL in EntityModeler. So I can say there is something different regarding horizontal inheritance between WebObjects 5.3 and WebObjects 5.4. Based on the first case scenario, it seems the difference occurs within WebObjects frameworks (but maybe something else is involved in the Wonder frameworks in addition to the 2 I keept from 5.3 in the first case). I don't know if this is to be considered a bug or if there's just something I should add/edit to make horizontal inheritance works under a complete 5.4 setup, but the fact that I couldn't find the same issue on the list makes me feel like the issue could at least be fixed on my side. It might be that few people are using Horizontal Inheritance.I have not noticed any problem with Single Table Inheritance. Any pointer about where to look at to ensure proper horizontal inheritance SQL generation under 5.4? Based on your evidence, I'd search for primary in ERExtensions. If nothing else, that will at least show you were in EOF the PK generation happens. Chuck On 31 janv. 2011, at 18:57, Dev WO wrote: Hello, I don't really know where the issue come from, but here's what's happening and what I've already tried to fix it (without a solution so far). I'm using Eclipse 3.6.1.M20100909 cocoa 64 WOLips 3.6.6215 PostgreSQL 8.4 WO 5.4.3 My previous setup was WO 5.3.3 with the previous major version of Eclipse (Carbon) and WOLips. The following behavior wasn't happening in this setup. I've got an Abstract entity A and a couple sub-entities, let's say SubA1 and SubA2. In the previous setup, when I generated the SQL for them, they were both correctly referring to A_seq for their primary key generation (in EntityModeler when generating SQL and while the app was running). Now they are referring to SubA1_seq and SubA2_seq (in EntityModeler and while the app is running) which breaks the entire application by providing pk that might be already taken by the other sub-entity... I first thought it could come from the PosgreSQL plugin framework, but after
Re: Horizontal inheritance mismatch between WebObjects 5.4 and 5.3 [ was: SQL generation doesn't conform to entity inheritance]
It is called Table Name in Entity Modeler: PastedGraphic-1.pdf Description: Adobe PDF document On Feb 2, 2011, at 12:56 PM, Dev WO wrote: see what entity.primaryKeyRootName() returns for each of the entities involved ... actually on your abstract entity, did you set an external name? make sure you set that -- external name on the root entity is what is used in 5.4.3 to determine what sequence to generate. I was about to try this, but actually, where did you set the external name in Entity Modeler?? I just have a name field:( Xavier ms On Feb 2, 2011, at 3:42 PM, Chuck Hill wrote: On Feb 2, 2011, at 12:36 PM, Dev WO wrote: This sounds really familiar ... I think it was a bug in 5.4.3. OK, and as I wouldn't hold my breath for 5.4.4 is there a way to fix it:) It can probably be fixed in Wonder. But first you have to identify where the problem is and what the fix is. :-) Chuck On Feb 2, 2011, at 12:46 PM, Dev WO wrote: Hello Chuck, With JavaERJDBCAdaptor or the default JavaJDBCAdaptor, the result is the same, it doesn't conform to the inheritance modeled in EntityModeler. I've got to check into ERExtensions if I can find something. I understand not everyone is using Horizontal Inheritance, but I must not be the only one trying to figure out what's going on with 5.4. Just to make sure, I've created a new Wonder framework, created only an abstract entity and 2 sub-entities with horizontal inheritance, and the generated SQL is not correct, it doesn't conform to the modeled inheritance by requesting sequence for the pk for each sub-entity instead of the abstract parent sequence. It looks to me this is a bug, I'm not 100% sure it's in Wonder or Webobjects though. Should I fill a Jira for this? I don't think this could be qualified as a regression as I don't even know if this bug was ever in 5.3. Thanks for your help, Xavier On 1 févr. 2011, at 20:24, Chuck Hill wrote: Hi Xavier, On Feb 1, 2011, at 12:42 AM, Dev WO wrote: I'm still trying to figure out what's happening... What I have found so far is that: If I'm doing: -latest 5.4 wonder frameworks except JavaERJDBCAdaptor.framework and PostgresqlPlugIn.framework from 5.3 -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance If I'm doing: -latest 5.4 wonder frameworks -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance Try it without JavaERJDBCAdaptor.framework at all (just use JavaJDBCAdaptor.framework) if I'm doing: -lastest 5.3 wonder frameworks -binding to WebObjects 5.3 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects53 in my wolips.properties) = I've got the correct behavior which is inheritance enforced when generating the SQL in EntityModeler. So I can say there is something different regarding horizontal inheritance between WebObjects 5.3 and WebObjects 5.4. Based on the first case scenario, it seems the difference occurs within WebObjects frameworks (but maybe something else is involved in the Wonder frameworks in addition to the 2 I keept from 5.3 in the first case). I don't know if this is to be considered a bug or if there's just something I should add/edit to make horizontal inheritance works under a complete 5.4 setup, but the fact that I couldn't find the same issue on the list makes me feel like the issue could at least be fixed on my side. It might be that few people are using Horizontal Inheritance.I have not noticed any problem with Single Table Inheritance. Any pointer about where to look at to ensure proper horizontal inheritance SQL generation under 5.4? Based on your evidence, I'd search for primary in ERExtensions. If nothing else, that will at least show you were in EOF the PK generation happens. Chuck On 31 janv. 2011, at 18:57, Dev WO wrote: Hello, I don't really know where the issue come from, but here's what's happening and what I've already tried to fix it (without a solution so far). I'm using Eclipse 3.6.1.M20100909 cocoa 64 WOLips 3.6.6215 PostgreSQL 8.4 WO 5.4.3 My previous setup was WO 5.3.3 with the previous major version of Eclipse (Carbon) and WOLips. The following behavior wasn't happening in this setup. I've got an Abstract entity A and a couple sub-entities, let's say SubA1 and SubA2. In the previous setup, when I generated the SQL for them, they were both correctly referring to A_seq for their primary key generation (in EntityModeler when generating SQL and while the app was running). Now they are referring to SubA1_seq and SubA2_seq (in EntityModeler and while the app is running) which breaks the entire application by
Re: Horizontal inheritance mismatch between WebObjects 5.4 and 5.3 [ was: SQL generation doesn't conform to entity inheritance]
OK, I tried this actually (even if I don't like that because it creates un-used tables I have to clean;)), but still got the wrong inheritance. So maybe not a winner Chuck;) But I would have hoped for;) Another player? same player shoot again? Xavier It is called Table Name in Entity Modeler: PastedGraphic-1.pdf On Feb 2, 2011, at 12:56 PM, Dev WO wrote: see what entity.primaryKeyRootName() returns for each of the entities involved ... actually on your abstract entity, did you set an external name? make sure you set that -- external name on the root entity is what is used in 5.4.3 to determine what sequence to generate. I was about to try this, but actually, where did you set the external name in Entity Modeler?? I just have a name field:( Xavier ms On Feb 2, 2011, at 3:42 PM, Chuck Hill wrote: On Feb 2, 2011, at 12:36 PM, Dev WO wrote: This sounds really familiar ... I think it was a bug in 5.4.3. OK, and as I wouldn't hold my breath for 5.4.4 is there a way to fix it:) It can probably be fixed in Wonder. But first you have to identify where the problem is and what the fix is. :-) Chuck On Feb 2, 2011, at 12:46 PM, Dev WO wrote: Hello Chuck, With JavaERJDBCAdaptor or the default JavaJDBCAdaptor, the result is the same, it doesn't conform to the inheritance modeled in EntityModeler. I've got to check into ERExtensions if I can find something. I understand not everyone is using Horizontal Inheritance, but I must not be the only one trying to figure out what's going on with 5.4. Just to make sure, I've created a new Wonder framework, created only an abstract entity and 2 sub-entities with horizontal inheritance, and the generated SQL is not correct, it doesn't conform to the modeled inheritance by requesting sequence for the pk for each sub-entity instead of the abstract parent sequence. It looks to me this is a bug, I'm not 100% sure it's in Wonder or Webobjects though. Should I fill a Jira for this? I don't think this could be qualified as a regression as I don't even know if this bug was ever in 5.3. Thanks for your help, Xavier On 1 févr. 2011, at 20:24, Chuck Hill wrote: Hi Xavier, On Feb 1, 2011, at 12:42 AM, Dev WO wrote: I'm still trying to figure out what's happening... What I have found so far is that: If I'm doing: -latest 5.4 wonder frameworks except JavaERJDBCAdaptor.framework and PostgresqlPlugIn.framework from 5.3 -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance If I'm doing: -latest 5.4 wonder frameworks -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance Try it without JavaERJDBCAdaptor.framework at all (just use JavaJDBCAdaptor.framework) if I'm doing: -lastest 5.3 wonder frameworks -binding to WebObjects 5.3 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects53 in my wolips.properties) = I've got the correct behavior which is inheritance enforced when generating the SQL in EntityModeler. So I can say there is something different regarding horizontal inheritance between WebObjects 5.3 and WebObjects 5.4. Based on the first case scenario, it seems the difference occurs within WebObjects frameworks (but maybe something else is involved in the Wonder frameworks in addition to the 2 I keept from 5.3 in the first case). I don't know if this is to be considered a bug or if there's just something I should add/edit to make horizontal inheritance works under a complete 5.4 setup, but the fact that I couldn't find the same issue on the list makes me feel like the issue could at least be fixed on my side. It might be that few people are using Horizontal Inheritance.I have not noticed any problem with Single Table Inheritance. Any pointer about where to look at to ensure proper horizontal inheritance SQL generation under 5.4? Based on your evidence, I'd search for primary in ERExtensions. If nothing else, that will at least show you were in EOF the PK generation happens. Chuck On 31 janv. 2011, at 18:57, Dev WO wrote: Hello, I don't really know where the issue come from, but here's what's happening and what I've already tried to fix it (without a solution so far). I'm using Eclipse 3.6.1.M20100909 cocoa 64 WOLips 3.6.6215 PostgreSQL 8.4 WO 5.4.3 My previous setup was WO 5.3.3 with the previous major version of Eclipse (Carbon) and WOLips. The following behavior wasn't happening in this setup. I've got an Abstract entity A and a couple sub-entities, let's say SubA1 and SubA2. In the previous setup, when I generated the SQL for them, they were both correctly referring to A_seq for their
Re: Horizontal inheritance mismatch between WebObjects 5.4 and 5.3 [ was: SQL generation doesn't conform to entity inheritance]
On Feb 2, 2011, at 1:03 PM, Dev WO wrote: OK, I tried this actually (even if I don't like that because it creates un-used tables I have to clean;)), Some databases (FrontBase) need this table as the sequence is attached to it. but still got the wrong inheritance. So maybe not a winner Chuck;) But I would have hoped for;) Another player? same player shoot again? With the table name set, what do you see? What do you expect to see? Chuck On Feb 2, 2011, at 12:56 PM, Dev WO wrote: see what entity.primaryKeyRootName() returns for each of the entities involved ... actually on your abstract entity, did you set an external name? make sure you set that -- external name on the root entity is what is used in 5.4.3 to determine what sequence to generate. I was about to try this, but actually, where did you set the external name in Entity Modeler?? I just have a name field:( Xavier ms On Feb 2, 2011, at 3:42 PM, Chuck Hill wrote: On Feb 2, 2011, at 12:36 PM, Dev WO wrote: This sounds really familiar ... I think it was a bug in 5.4.3. OK, and as I wouldn't hold my breath for 5.4.4 is there a way to fix it:) It can probably be fixed in Wonder. But first you have to identify where the problem is and what the fix is. :-) Chuck On Feb 2, 2011, at 12:46 PM, Dev WO wrote: Hello Chuck, With JavaERJDBCAdaptor or the default JavaJDBCAdaptor, the result is the same, it doesn't conform to the inheritance modeled in EntityModeler. I've got to check into ERExtensions if I can find something. I understand not everyone is using Horizontal Inheritance, but I must not be the only one trying to figure out what's going on with 5.4. Just to make sure, I've created a new Wonder framework, created only an abstract entity and 2 sub-entities with horizontal inheritance, and the generated SQL is not correct, it doesn't conform to the modeled inheritance by requesting sequence for the pk for each sub-entity instead of the abstract parent sequence. It looks to me this is a bug, I'm not 100% sure it's in Wonder or Webobjects though. Should I fill a Jira for this? I don't think this could be qualified as a regression as I don't even know if this bug was ever in 5.3. Thanks for your help, Xavier On 1 févr. 2011, at 20:24, Chuck Hill wrote: Hi Xavier, On Feb 1, 2011, at 12:42 AM, Dev WO wrote: I'm still trying to figure out what's happening... What I have found so far is that: If I'm doing: -latest 5.4 wonder frameworks except JavaERJDBCAdaptor.framework and PostgresqlPlugIn.framework from 5.3 -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance If I'm doing: -latest 5.4 wonder frameworks -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance Try it without JavaERJDBCAdaptor.framework at all (just use JavaJDBCAdaptor.framework) if I'm doing: -lastest 5.3 wonder frameworks -binding to WebObjects 5.3 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects53 in my wolips.properties) = I've got the correct behavior which is inheritance enforced when generating the SQL in EntityModeler. So I can say there is something different regarding horizontal inheritance between WebObjects 5.3 and WebObjects 5.4. Based on the first case scenario, it seems the difference occurs within WebObjects frameworks (but maybe something else is involved in the Wonder frameworks in addition to the 2 I keept from 5.3 in the first case). I don't know if this is to be considered a bug or if there's just something I should add/edit to make horizontal inheritance works under a complete 5.4 setup, but the fact that I couldn't find the same issue on the list makes me feel like the issue could at least be fixed on my side. It might be that few people are using Horizontal Inheritance.I have not noticed any problem with Single Table Inheritance. Any pointer about where to look at to ensure proper horizontal inheritance SQL generation under 5.4? Based on your evidence, I'd search for primary in ERExtensions. If nothing else, that will at least show you were in EOF the PK generation happens. Chuck On 31 janv. 2011, at 18:57, Dev WO wrote: Hello, I don't really know where the issue come from, but here's what's happening and what I've already tried to fix it (without a solution so far). I'm using Eclipse 3.6.1.M20100909 cocoa 64 WOLips 3.6.6215 PostgreSQL 8.4 WO 5.4.3 My previous setup was WO 5.3.3 with the previous major version of Eclipse (Carbon) and WOLips. The following behavior wasn't happening in this setup. I've got an Abstract entity A and a couple sub-entities, let's say
Re: Horizontal inheritance mismatch between WebObjects 5.4 and 5.3 [ was: SQL generation doesn't conform to entity inheritance]
i still would like to see what entity.primaryKeyRootName returns for each ... i don't recall what the impl was in 5.4.3 and I don't have it checked out at the moment, but i'm pretty sure that method is the only thing that matters here. ms On Feb 2, 2011, at 4:56 PM, Chuck Hill wrote: On Feb 2, 2011, at 1:03 PM, Dev WO wrote: OK, I tried this actually (even if I don't like that because it creates un-used tables I have to clean;)), Some databases (FrontBase) need this table as the sequence is attached to it. but still got the wrong inheritance. So maybe not a winner Chuck;) But I would have hoped for;) Another player? same player shoot again? With the table name set, what do you see? What do you expect to see? Chuck On Feb 2, 2011, at 12:56 PM, Dev WO wrote: see what entity.primaryKeyRootName() returns for each of the entities involved ... actually on your abstract entity, did you set an external name? make sure you set that -- external name on the root entity is what is used in 5.4.3 to determine what sequence to generate. I was about to try this, but actually, where did you set the external name in Entity Modeler?? I just have a name field:( Xavier ms On Feb 2, 2011, at 3:42 PM, Chuck Hill wrote: On Feb 2, 2011, at 12:36 PM, Dev WO wrote: This sounds really familiar ... I think it was a bug in 5.4.3. OK, and as I wouldn't hold my breath for 5.4.4 is there a way to fix it:) It can probably be fixed in Wonder. But first you have to identify where the problem is and what the fix is. :-) Chuck On Feb 2, 2011, at 12:46 PM, Dev WO wrote: Hello Chuck, With JavaERJDBCAdaptor or the default JavaJDBCAdaptor, the result is the same, it doesn't conform to the inheritance modeled in EntityModeler. I've got to check into ERExtensions if I can find something. I understand not everyone is using Horizontal Inheritance, but I must not be the only one trying to figure out what's going on with 5.4. Just to make sure, I've created a new Wonder framework, created only an abstract entity and 2 sub-entities with horizontal inheritance, and the generated SQL is not correct, it doesn't conform to the modeled inheritance by requesting sequence for the pk for each sub-entity instead of the abstract parent sequence. It looks to me this is a bug, I'm not 100% sure it's in Wonder or Webobjects though. Should I fill a Jira for this? I don't think this could be qualified as a regression as I don't even know if this bug was ever in 5.3. Thanks for your help, Xavier On 1 févr. 2011, at 20:24, Chuck Hill wrote: Hi Xavier, On Feb 1, 2011, at 12:42 AM, Dev WO wrote: I'm still trying to figure out what's happening... What I have found so far is that: If I'm doing: -latest 5.4 wonder frameworks except JavaERJDBCAdaptor.framework and PostgresqlPlugIn.framework from 5.3 -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance If I'm doing: -latest 5.4 wonder frameworks -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to entity inheritance Try it without JavaERJDBCAdaptor.framework at all (just use JavaJDBCAdaptor.framework) if I'm doing: -lastest 5.3 wonder frameworks -binding to WebObjects 5.3 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects53 in my wolips.properties) = I've got the correct behavior which is inheritance enforced when generating the SQL in EntityModeler. So I can say there is something different regarding horizontal inheritance between WebObjects 5.3 and WebObjects 5.4. Based on the first case scenario, it seems the difference occurs within WebObjects frameworks (but maybe something else is involved in the Wonder frameworks in addition to the 2 I keept from 5.3 in the first case). I don't know if this is to be considered a bug or if there's just something I should add/edit to make horizontal inheritance works under a complete 5.4 setup, but the fact that I couldn't find the same issue on the list makes me feel like the issue could at least be fixed on my side. It might be that few people are using Horizontal Inheritance.I have not noticed any problem with Single Table Inheritance. Any pointer about where to look at to ensure proper horizontal inheritance SQL generation under 5.4? Based on your evidence, I'd search for primary in ERExtensions. If nothing else, that will at least show you were in EOF the PK generation happens. Chuck On 31 janv. 2011, at 18:57, Dev WO wrote: Hello, I don't really know where the issue come from, but here's what's happening and what I've already tried to fix it (without a solution so far). I'm using
Re: Horizontal inheritance mismatch between WebObjects 5.4 and 5.3 [ was: SQL generation doesn't conform to entity inheritance]
Hi Xavier, Hmmm. As a complete aside to the SQL generation issue, are you _sure_ you need inheritance for this? In your app, what happens if an employee wants to buy something from you? They can't be both a customer and an employee. Don't make the mistake of thinking you can change change which class a person is. Using inheritance in this type of situation is almost always the wrong way to go. I'd probably model this as a person being able to have multiple roles and you'd get all the customers by doing something along the lines of Get all person objects that have relationship to the customer type. In Wonder: NSArrayPerson customers = Person.fetchAll(ec, Person.ROLES.contains(Role.customerRole())); You can then have different behaviors for different roles by using delegates that encapsulate the role-specific behaviors. Replace the idea of IS-A (person) with HAS-A (role). Much more flexible, and it gets rid of Inheritance in your EOModel. Dave On Feb 2, 2011, at 3:42 PM, Dev WO wrote: Sure Dave, here they are: parent entity { attributes = ( {allowsNull = N; name = id; prototypeName = id; }, {allowsNull = Y; columnName = name; name = name; prototypeName = varchar255; } ); attributesUsedForLocking = (id); className = com.anazys.tempFrameworkWonder54.Core; classProperties = (name); fetchSpecificationDictionary = {}; isAbstractEntity = Y; name = Core; primaryKeyAttributes = (id); } subclass Employee { attributes = ( {allowsNull = N; name = id; prototypeName = id; }, {allowsNull = Y; columnName = name; name = name; prototypeName = varchar255; } ); attributesUsedForLocking = (id); className = com.anazys.tempFrameworkWonder54.Employee; classProperties = (name); externalName = Employee; fetchSpecificationDictionary = {}; name = Employee; parent = Core; primaryKeyAttributes = (id); } subclass Customer { attributes = ( {allowsNull = N; name = id; prototypeName = id; }, {allowsNull = Y; columnName = name; name = name; prototypeName = varchar255; } ); attributesUsedForLocking = (id); className = com.anazys.tempFrameworkWonder54.Customer; classProperties = (name); externalName = Customer; fetchSpecificationDictionary = {}; name = Customer; parent = Core; primaryKeyAttributes = (id); } I could edit the code for the SQL when generating the database, but the issue is really in production, if I update the app, it will start to generate pk based on the sub-entity, and I will end up with duplicate pks between various sub-classes. So the SQL generated by EntityModeler is just a way to check if it's going to break the current app, not really for that specific action. Xavier On 2 févr. 2011, at 19:05, David Avendasora wrote: Hi Xavier, Can you paste the .plist files for the three Entities (the super and two subclasses) into this email? I'm suspecting that there maybe something wrong with the way it is modeled... What if you manually create the database tables and the sequence instead of letting EntityModeler generate the SQL for them? Does creating and saving new instances of the subclasses work? What I'm trying to figure out is if this is a problem with just the Create Table statements generated by the plugin, or a more fundamental problem with how EOF is using Horizontal Inheritance. Dave On Feb 2, 2011, at 12:46 PM, Dev WO wrote: Hello Chuck, With JavaERJDBCAdaptor or the default JavaJDBCAdaptor, the result is the same, it doesn't conform to the inheritance modeled in EntityModeler. I've got to check into ERExtensions if I can find something. I understand not everyone is using Horizontal Inheritance, but I must not be the only one trying to figure out what's going on with 5.4. Just to make sure, I've created a new Wonder framework, created only an abstract entity and 2 sub-entities with horizontal inheritance, and the generated SQL is not correct, it doesn't conform to the modeled inheritance by requesting sequence for the pk for each sub-entity instead of the abstract parent sequence. It looks to me this is a bug, I'm not 100% sure it's in Wonder or Webobjects though. Should I fill a Jira for this? I don't think this could be qualified as a regression as I don't even know if this bug was ever in 5.3. Thanks for your help, Xavier On 1 févr. 2011, at 20:24, Chuck Hill wrote: Hi Xavier, On Feb 1, 2011, at 12:42 AM, Dev WO wrote: I'm still trying to figure out what's happening... What I have found so far is that: If I'm doing: -latest 5.4 wonder frameworks except JavaERJDBCAdaptor.framework and PostgresqlPlugIn.framework from 5.3 -binding to WebObjects 5.4 (using wo.system.frameworks=/System/Library/Frameworks/WebObjects54 in my wolips.properties) = SQL generation doesn't conform to
Re: Horizontal inheritance mismatch between WebObjects 5.4 and 5.3 [ was: SQL generation doesn't conform to entity inheritance]
On 03/02/2011, at 8:59 AM, Mike Schrag wrote: i still would like to see what entity.primaryKeyRootName returns for each ... i don't recall what the impl was in 5.4.3 and I don't have it checked out at the moment, but i'm pretty sure that method is the only thing that matters here. The impl in 5.4.3 is wrong. Essentially 5.4.3 introduced a regression, which I recall checking in a fix for in wonder, and I believe it's fixed in 5.4.3.1 :) like this: if (parent is abstract) { return my external name. } Which is just wrong. This was particularly a problem for Vertical Inheritance where various fields ought to have resolved to the parent entity's table (but didn't). I've never tested horizontal inheritance but you can fix it by: a) subclassing EOEntity and overriding primaryKeyRootName etc, or better b) use Wonder and if Horizontal Inheritance is a problem, fix it there for all :) with regards, - Lachlan Deck ___ 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 arch...@mail-archive.com
Re: Horizontal inheritance mismatch between WebObjects 5.4 and 5.3 [ was: SQL generation doesn't conform to entity inheritance]
On Feb 2, 2011, at 5:33 PM, Lachlan Deck wrote: On 03/02/2011, at 8:59 AM, Mike Schrag wrote: i still would like to see what entity.primaryKeyRootName returns for each ... i don't recall what the impl was in 5.4.3 and I don't have it checked out at the moment, but i'm pretty sure that method is the only thing that matters here. The impl in 5.4.3 is wrong. Essentially 5.4.3 introduced a regression, which I recall checking in a fix for in wonder, I see this, but nothing else in ERXEntity related to this: public boolean hasExternalName() { // (ldeck) radar://6592526 fix for 5.4.3 regression which assumed that any parent entity that is abstract has no external name! return externalName() != null externalName().trim().length() 0; } Chuck and I believe it's fixed in 5.4.3.1 :) like this: if (parent is abstract) { return my external name. } Which is just wrong. This was particularly a problem for Vertical Inheritance where various fields ought to have resolved to the parent entity's table (but didn't). I've never tested horizontal inheritance but you can fix it by: a) subclassing EOEntity and overriding primaryKeyRootName etc, or better b) use Wonder and if Horizontal Inheritance is a problem, fix it there for all :) with regards, - Lachlan Deck ___ 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/chill%40global-village.net This email sent to ch...@global-village.net -- Chuck Hill Senior Consultant / VP Development 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 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 arch...@mail-archive.com
Re: Horizontal inheritance mismatch between WebObjects 5.4 and 5.3 [ was: SQL generation doesn't conform to entity inheritance]
Yeah, that's it. For 5.4.3, that would fix this problem. ms On Feb 2, 2011, at 8:38 PM, Chuck Hill wrote: On Feb 2, 2011, at 5:33 PM, Lachlan Deck wrote: On 03/02/2011, at 8:59 AM, Mike Schrag wrote: i still would like to see what entity.primaryKeyRootName returns for each ... i don't recall what the impl was in 5.4.3 and I don't have it checked out at the moment, but i'm pretty sure that method is the only thing that matters here. The impl in 5.4.3 is wrong. Essentially 5.4.3 introduced a regression, which I recall checking in a fix for in wonder, I see this, but nothing else in ERXEntity related to this: public boolean hasExternalName() { // (ldeck) radar://6592526 fix for 5.4.3 regression which assumed that any parent entity that is abstract has no external name! return externalName() != null externalName().trim().length() 0; } Chuck and I believe it's fixed in 5.4.3.1 :) like this: if (parent is abstract) { return my external name. } Which is just wrong. This was particularly a problem for Vertical Inheritance where various fields ought to have resolved to the parent entity's table (but didn't). I've never tested horizontal inheritance but you can fix it by: a) subclassing EOEntity and overriding primaryKeyRootName etc, or better b) use Wonder and if Horizontal Inheritance is a problem, fix it there for all :) with regards, - Lachlan Deck ___ 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/chill%40global-village.net This email sent to ch...@global-village.net -- Chuck Hill Senior Consultant / VP Development 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/mschrag%40pobox.com This email sent to msch...@pobox.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 arch...@mail-archive.com
Threadsafe issues
My team is testing a WO application on a Linux server that has worked great on OSX for years. We are being hit by the known threadsafe issue of SimpleDateFormat corrupting our data feed. We found this through exceptions being thrown and logged. We have corrected the issue by wrapping that class in our own with synchronized methods of the same name. We are concerned that there are other common classes that are also not threadsafe. What other classes have you all found that are not threadsafe? How can we identify non-threadsafe classes without waiting for an exception or data error? Thanks in advance, TNK ___ 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 arch...@mail-archive.com
Re: Threadsafe issues
How can we identify non-threadsafe classes without waiting for an exception or data error? you can't, really ... i would say that the majority of classes probably AREN'T thread-safe and work your way back as you prove otherwise. ms ___ 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 arch...@mail-archive.com
Re: Threadsafe issues
On Feb 2, 2011, at 6:56 PM, Mike Schrag wrote: How can we identify non-threadsafe classes without waiting for an exception or data error? you can't, really ... i would say that the majority of classes probably AREN'T thread-safe and work your way back as you prove otherwise. That is my take on it as well. An easier approach is to look at what you are sharing from the Application or static variables and focus on checking those classes. You might get better results by eliminating the sharing rather than synchronizing. Chuck -- Chuck Hill Senior Consultant / VP Development 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 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 arch...@mail-archive.com
Re: Horizontal inheritance mismatch between WebObjects 5.4 and 5.3 [ was: SQL generation doesn't conform to entity inheritance]
Hi David, Hi Xavier, Hmmm. As a complete aside to the SQL generation issue, are you _sure_ you need inheritance for this? In your app, what happens if an employee wants to buy something from you? They can't be both a customer and an employee. Don't make the mistake of thinking you can change change which class a person is. Using inheritance in this type of situation is almost always the wrong way to go. I'd probably model this as a person being able to have multiple roles and you'd get all the customers by doing something along the lines of Get all person objects that have relationship to the customer type. In Wonder: NSArrayPerson customers = Person.fetchAll(ec, Person.ROLES.contains(Role.customerRole())); You can then have different behaviors for different roles by using delegates that encapsulate the role-specific behaviors. Replace the idea of IS-A (person) with HAS-A (role). Much more flexible, and it gets rid of Inheritance in your EOModel. I totally agree that this specific example is not really interesting, but it was just to showcase the issue. But I do use quit a lot horizontal inheritance, for products in an online store, etc. I just can't get rid of them. Some projects are just in maintenance mode, we won't rewrite them at such a lower level. New projects are using less horizontal inheritance, but still some;) So I have to figure out how to fix this 5.4 feature;) Xavier Dave On Feb 2, 2011, at 3:42 PM, Dev WO wrote: Sure Dave, here they are: parent entity { attributes = ( {allowsNull = N; name = id; prototypeName = id; }, {allowsNull = Y; columnName = name; name = name; prototypeName = varchar255; } ); attributesUsedForLocking = (id); className = com.anazys.tempFrameworkWonder54.Core; classProperties = (name); fetchSpecificationDictionary = {}; isAbstractEntity = Y; name = Core; primaryKeyAttributes = (id); } subclass Employee { attributes = ( {allowsNull = N; name = id; prototypeName = id; }, {allowsNull = Y; columnName = name; name = name; prototypeName = varchar255; } ); attributesUsedForLocking = (id); className = com.anazys.tempFrameworkWonder54.Employee; classProperties = (name); externalName = Employee; fetchSpecificationDictionary = {}; name = Employee; parent = Core; primaryKeyAttributes = (id); } subclass Customer { attributes = ( {allowsNull = N; name = id; prototypeName = id; }, {allowsNull = Y; columnName = name; name = name; prototypeName = varchar255; } ); attributesUsedForLocking = (id); className = com.anazys.tempFrameworkWonder54.Customer; classProperties = (name); externalName = Customer; fetchSpecificationDictionary = {}; name = Customer; parent = Core; primaryKeyAttributes = (id); } I could edit the code for the SQL when generating the database, but the issue is really in production, if I update the app, it will start to generate pk based on the sub-entity, and I will end up with duplicate pks between various sub-classes. So the SQL generated by EntityModeler is just a way to check if it's going to break the current app, not really for that specific action. Xavier On 2 févr. 2011, at 19:05, David Avendasora wrote: Hi Xavier, Can you paste the .plist files for the three Entities (the super and two subclasses) into this email? I'm suspecting that there maybe something wrong with the way it is modeled... What if you manually create the database tables and the sequence instead of letting EntityModeler generate the SQL for them? Does creating and saving new instances of the subclasses work? What I'm trying to figure out is if this is a problem with just the Create Table statements generated by the plugin, or a more fundamental problem with how EOF is using Horizontal Inheritance. Dave On Feb 2, 2011, at 12:46 PM, Dev WO wrote: Hello Chuck, With JavaERJDBCAdaptor or the default JavaJDBCAdaptor, the result is the same, it doesn't conform to the inheritance modeled in EntityModeler. I've got to check into ERExtensions if I can find something. I understand not everyone is using Horizontal Inheritance, but I must not be the only one trying to figure out what's going on with 5.4. Just to make sure, I've created a new Wonder framework, created only an abstract entity and 2 sub-entities with horizontal inheritance, and the generated SQL is not correct, it doesn't conform to the modeled inheritance by requesting sequence for the pk for each sub-entity instead of the abstract parent sequence. It looks to me this is a bug, I'm not 100% sure it's in Wonder or Webobjects though. Should I fill a Jira for this? I don't think this could be qualified as a regression as I don't even know if this bug was ever in 5.3. Thanks for your help, Xavier On 1 févr. 2011, at 20:24,
Re: Horizontal inheritance mismatch between WebObjects 5.4 and 5.3 [ was: SQL generation doesn't conform to entity inheritance]
Hello Lachlan, On 03/02/2011, at 8:59 AM, Mike Schrag wrote: i still would like to see what entity.primaryKeyRootName returns for each ... i don't recall what the impl was in 5.4.3 and I don't have it checked out at the moment, but i'm pretty sure that method is the only thing that matters here. The impl in 5.4.3 is wrong. Essentially 5.4.3 introduced a regression, which I recall checking in a fix for in wonder, and I believe it's fixed in 5.4.3.1 :) like this: if (parent is abstract) { return my external name. } Which is just wrong. This was particularly a problem for Vertical Inheritance where various fields ought to have resolved to the parent entity's table (but didn't). I've never tested horizontal inheritance but you can fix it by: a) subclassing EOEntity and overriding primaryKeyRootName etc, or better b) use Wonder and if Horizontal Inheritance is a problem, fix it there for all :) I'm using Wonder, I would have hoped whatever 5.4 bugs would have been fixed already in this Wonder-ful frameworks:) I'm still digging right now. Xavier with regards, - Lachlan Deck ___ 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%40anazys.com This email sent to webobje...@anazys.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 arch...@mail-archive.com