Re: split install issue with 5.4.3
Hi Tim, On 14/01/2009, at 3:33 PM, D Tim Cummings wrote: On 14/01/2009, at 8:00 AM, Lachlan Deck wrote: Sure. I'm just suggesting to double check the end of the app script i.e., $ tail YourApp.woa/YourApp Hi Lachlan Thanks for your interest. The last lines of the launch script look good. Nope :-) It has the WOFrameworksBaseURL argument which therefore cannot be overridden by any subsequent property setting (whether in Monitor or your app's properties). You can take it out OR provide your own property to change the value in your app's constructor or similar. There may well be a bug in WO5.4.x (I haven't deployed any 54 apps as yet) but what you're seeing below is exactly why your attempts to change the property in Monitor etc are being ignored. I also tried setting -WOFrameworksBaseURL in JavaMonitor and WOFrameworksBaseURL in the Properties file, before I worked out it was an Apple bug in WebObjects 5.4.3 tail WeboTest.woa/WeboTest # # Launch the application. # echo Launching ${SCRIPT_NAME}.woa ... echo ${JAVA_EXECUTABLE} ${JAVA_EXECUTABLE_ARGS} -classpath WOBootstrap.jar com.webobjects._bootstrap.WOBootstrap $ {COMMAND_LINE_ARGS} -WOFrameworksBaseURL /WebObjects/WeboTest.woa/ Frameworks eval exec ${JAVA_EXECUTABLE} ${JAVA_EXECUTABLE_ARGS} -classpath WOBootstrap.jar com.webobjects._bootstrap.WOBootstrap $ {COMMAND_LINE_ARGS} -WOFrameworksBaseURL /WebObjects/WeboTest.woa/ Frameworks Here's the output that used to be true (both from Apple's stuff and Wonder. e.g., BugTracker) -- # # Launch the application. # echo Launching ${SCRIPT_NAME}.woa ... echo ${JAVA_EXECUTABLE} ${JAVA_EXECUTABLE_ARGS} -classpath WOBootstrap.jar com.webobjects._bootstrap.WOBootstrap $ {COMMAND_LINE_ARGS} eval exec ${JAVA_EXECUTABLE} ${JAVA_EXECUTABLE_ARGS} -classpath WOBootstrap.jar com.webobjects._bootstrap.WOBootstrap $ {COMMAND_LINE_ARGS} -- Now I understand the motivation for this - it's a consequence of fully embedded builds - but it means if you want to change the location in any way you have to come up with an alternative implementation in code (triggered from your own properties) to overcome it. So my own approach has been to do the following: /** * @see er.extensions.ERXApplication#finishInitialization() */ public void finishInitialization() { super.finishInitialization(); ... // fix frameworks/app webserver resources url. LOG.info( WOApplicationBaseURL: + applicationBaseURL() ); if ( ERXProperties .booleanForKeyWithDefault ( ISHFrameworksBaseURL.relativeToApplicationBaseURL, true ) ) { String realAppName = NSPathUtilities.lastPathComponent( path() ); NSArray String components = new NSArray String ( new String[] { realAppName, Contents, Frameworks } ); String newBaseURL = applicationBaseURL(); for ( Enumeration String en = components.objectEnumerator(); en.hasMoreElements(); ) { newBaseURL = NSPathUtilities.stringByAppendingPathComponent( newBaseURL, en.nextElement() ); } ERXProperties.setStringForKey( newBaseURL, WOFrameworksBaseURL ); setFrameworksBaseURL( newBaseURL ); } LOG.info( WOFrameworksBaseURL: + frameworksBaseURL() ); ... } 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
Bug in NSTimeZone: rawOffset is wrong
Just filed as bug 6494932: rawOffset of NSTimeZone is not set correctly. E.g. it reports zero for Europe/Berlin while it should be one hour. When using java.util.TimeZone instead of NSTimeZone, everything is OK. This happens with both WO 5.3.3 and 5.4.3. --- Reproduction code --- package timo.tests; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.TimeZone; import com.webobjects.foundation.NSTimeZone; import com.webobjects.foundation.NSTimestamp; public class Timezones { public static void main(String[] args) { test(TimeZone.getTimeZone(Europe/Berlin)); test(NSTimeZone.timeZoneWithName(Europe/Berlin, false)); } private static void test(TimeZone timeZone) { System.out.println(Testing with + timeZone.getClass() + ( + timeZone + )\n); System.out.println(timeZone.getRawOffset() = + timeZone.getRawOffset()+\n); Calendar calendar = new GregorianCalendar(timeZone); Date trialTime = new NSTimestamp(2008, 5, 1, 0, 0, 0, timeZone); System.out.println(trialTime); calendar.setTime(trialTime); System.out.println(YEAR: + calendar.get(Calendar.YEAR)); System.out.println(MONTH+1: + (calendar.get(Calendar.MONTH) + 1)); System.out.println(DAY_OF_MONTH: + calendar.get (Calendar.DAY_OF_MONTH)); System.out.println(); System.out.println(HOUR_OF_DAY: + calendar.get (Calendar.HOUR_OF_DAY)); System.out.println(MINUTE: + calendar.get(Calendar.MINUTE)); System.out.println(SECOND: + calendar.get(Calendar.SECOND)); System.out.println(); System.out.println(ZONE_OFFSET: + calendar.get (Calendar.ZONE_OFFSET)); System.out.println(DST_OFFSET: + calendar.get (Calendar.DST_OFFSET)); System.out.println(---); } } --- Output --- Testing with class sun.util.calendar.ZoneInfo (sun.util.calendar.ZoneInfo[id=Europe/ Berlin,offset=360,dstSavings=360,useDaylight=true,transitions=1 43,lastRule=java.util.SimpleTimeZone[id=Europe/ Berlin,offset=360,dstSavings=360,useDaylight=true,startYear=0,st artMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=360,st artTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600 000,endTimeMode=2]]) timeZone.getRawOffset() = 360 2008-04-30 22:00:00 Etc/GMT YEAR: 2008 MONTH+1: 5 DAY_OF_MONTH: 1 HOUR_OF_DAY: 0 MINUTE: 0 SECOND: 0 ZONE_OFFSET: 360 DST_OFFSET: 360 --- Testing with class com.webobjects.foundation.NSTimeZone (Europe/ Berlin (CET) offset 3600) timeZone.getRawOffset() = 0 2008-04-30 22:00:00 Etc/GMT YEAR: 2008 MONTH+1: 4 DAY_OF_MONTH: 30 HOUR_OF_DAY: 23 MINUTE: 0 SECOND: 0 ZONE_OFFSET: 0 DST_OFFSET: 360 --- ___ 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
Bug ID 6342679: NSTimestamp Happy New Year Bug
Ken If I use Atlantic/Reykjavik the code produces incorrect results. So, it is a bug. If I use GMT instead the code would work. That is a work around for a bug. Do you agree? Best regards, Bardi -Original Message- From: Ken Anderson [mailto:kenli...@anderhome.com] Sent: Tue 13-Jan-09 17:59 To: Barði Einarsson Cc: webobjects-dev@lists.apple.com Subject: Re: Bug ID 6342679: NSTimestamp Happy New Year Bug Bardi, OK - it took me all of 10 minutes to solve this. 1. You choose Atlantic/Reykjavik, not GMT, like we suggested. 2. In 1969, Iceland stopped respecting Daylight Savings Time: http://www.timeanddate.com/worldclock/timezone.html?n=211syear=1960 date in yearFromDate : 1968-01-01 00:00:00 Etc/GMT yearFromDate : 1967 TimeZone:Atlantic/Reykjavik date in yearFromDate : 1969-01-01 00:00:00 Etc/GMT yearFromDate : 1969 If you had chosen GMT, where there's no shifts for daylight savings time, it's always accurate. Ken On Jan 13, 2009, at 12:02 PM, Barði Einarsson wrote: It is a bug: run happyNewYear(1964) output: TimeZone:Atlantic/Reykjavik date in yearFromDate : 1964-01-01 00:00:00 Etc/GMT yearFromDate : 1963 package some.packagename; import java.util.GregorianCalendar; import java.util.TimeZone; import com.webobjects.foundation.NSTimeZone; import com.webobjects.foundation.NSTimestamp; public class HappyNewYear { static { TimeZone.setDefault(TimeZone.getTimeZone(Atlantic/Reykjavik)); NSTimeZone.setDefault(TimeZone.getTimeZone(Atlantic/ Reykjavik)); } public static int yearFromDate(NSTimestamp date) { if (null == date) { return 0; } System.out.println(TimeZone: + TimeZone.getDefault().getID()); GregorianCalendar cal = new GregorianCalendar(); cal.setTime(date); System.out.println(date in yearFromDate : + date); int result = cal.get(GregorianCalendar.YEAR); System.out.println(yearFromDate : + result); return result; } public static void happyNewYear(int year) { NSTimestamp newYear = new NSTimestamp(year, 1, 1, 0, 0, 0, null); yearFromDate(newYear); } } -Original Message- From: Ken Anderson [mailto:kenli...@anderhome.com] Sent: Fri 09-Jan-09 15:23 To: Lachlan Deck Cc: Barði Einarsson; WebObjects-Dev Mailing List List Subject: Re: Bug ID 6342679: NSTimestamp Happy New Year Bug Bardi, I think the most important thing to understand about how dates are moved around is that the value is always GMT based. Timezones are there for convenience... For instance, when you create a new timestamp with a timezone, the timezone is used to adjust the date/time you sent in to GMT and the GMT value is stored. When formatting a date or extracting day/month/ year from GregorianCalendar, the timezone is used WHEN FORMATTING THE RESULT. If you work with these tenets, things will hopefully be easier. Ken On Jan 8, 2009, at 6:54 PM, Lachlan Deck wrote: On 09/01/2009, at 3:10 AM, Ken Anderson wrote: I do exactly what you're doing all the time, and I do not have the issue you're experiencing. One thing I do at the beginning of my WOApplication subclass is this: TimeZone.setDefault(TimeZone.getTimeZone(GMT)); NSTimeZone.setDefault(TimeZone.getTimeZone(GMT)); This will make sure that you're really working in GMT across the board. Can you do the above and try your tests again? Yep. Behaves correctly - no way Yes way :-) NSTimestamp reports a timezone which is not used by GregorianCalendar ?? GregorianCalendar does *not* change its timezone based on the date passed to it. You are responsible for determining that. That's nothing to do with NSTimestamp. This is a difficult bug. Just more a misunderstanding on your part. 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/kenlists%40anderhome.com This email sent to kenli...@anderhome.com Fyrirvari á tölvupósti / e-mail disclaimer http://us.is/Apps/WebObjects/US.woa/wa/dp?id=3776 ___ 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/kenlists%40anderhome.com This email sent to kenli...@anderhome.com Fyrirvari á tölvupósti / e-mail disclaimer http://us.is/Apps/WebObjects/US.woa/wa/dp?id=3776 ___ 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
Re: Bug ID 6342679: NSTimestamp Happy New Year Bug
NO! It is NOT an incorrect result! The reason you get the result of 1963 when you use 1964 is because Reykjavik is 1 hour off from GMT then. On Jan 14, 2009, at 5:11 AM, Barði Einarsson wrote: Ken If I use Atlantic/Reykjavik the code produces incorrect results. So, it is a bug. If I use GMT instead the code would work. That is a work around for a bug. Do you agree? Best regards, Bardi -Original Message- From: Ken Anderson [mailto:kenli...@anderhome.com] Sent: Tue 13-Jan-09 17:59 To: Barði Einarsson Cc: webobjects-dev@lists.apple.com Subject: Re: Bug ID 6342679: NSTimestamp Happy New Year Bug Bardi, OK - it took me all of 10 minutes to solve this. 1. You choose Atlantic/Reykjavik, not GMT, like we suggested. 2. In 1969, Iceland stopped respecting Daylight Savings Time: http://www.timeanddate.com/worldclock/timezone.html?n=211syear=1960 date in yearFromDate : 1968-01-01 00:00:00 Etc/GMT yearFromDate : 1967 TimeZone:Atlantic/Reykjavik date in yearFromDate : 1969-01-01 00:00:00 Etc/GMT yearFromDate : 1969 If you had chosen GMT, where there's no shifts for daylight savings time, it's always accurate. Ken On Jan 13, 2009, at 12:02 PM, Barði Einarsson wrote: It is a bug: run happyNewYear(1964) output: TimeZone:Atlantic/Reykjavik date in yearFromDate : 1964-01-01 00:00:00 Etc/GMT yearFromDate : 1963 package some.packagename; import java.util.GregorianCalendar; import java.util.TimeZone; import com.webobjects.foundation.NSTimeZone; import com.webobjects.foundation.NSTimestamp; public class HappyNewYear { static { TimeZone.setDefault(TimeZone.getTimeZone(Atlantic/Reykjavik)); NSTimeZone.setDefault(TimeZone.getTimeZone(Atlantic/ Reykjavik)); } public static int yearFromDate(NSTimestamp date) { if (null == date) { return 0; } System.out.println(TimeZone: + TimeZone.getDefault().getID()); GregorianCalendar cal = new GregorianCalendar(); cal.setTime(date); System.out.println(date in yearFromDate : + date); int result = cal.get(GregorianCalendar.YEAR); System.out.println(yearFromDate : + result); return result; } public static void happyNewYear(int year) { NSTimestamp newYear = new NSTimestamp(year, 1, 1, 0, 0, 0, null); yearFromDate(newYear); } } -Original Message- From: Ken Anderson [mailto:kenli...@anderhome.com] Sent: Fri 09-Jan-09 15:23 To: Lachlan Deck Cc: Barði Einarsson; WebObjects-Dev Mailing List List Subject: Re: Bug ID 6342679: NSTimestamp Happy New Year Bug Bardi, I think the most important thing to understand about how dates are moved around is that the value is always GMT based. Timezones are there for convenience... For instance, when you create a new timestamp with a timezone, the timezone is used to adjust the date/time you sent in to GMT and the GMT value is stored. When formatting a date or extracting day/month/ year from GregorianCalendar, the timezone is used WHEN FORMATTING THE RESULT. If you work with these tenets, things will hopefully be easier. Ken On Jan 8, 2009, at 6:54 PM, Lachlan Deck wrote: On 09/01/2009, at 3:10 AM, Ken Anderson wrote: I do exactly what you're doing all the time, and I do not have the issue you're experiencing. One thing I do at the beginning of my WOApplication subclass is this: TimeZone.setDefault(TimeZone.getTimeZone(GMT)); NSTimeZone.setDefault(TimeZone.getTimeZone(GMT)); This will make sure that you're really working in GMT across the board. Can you do the above and try your tests again? Yep. Behaves correctly - no way Yes way :-) NSTimestamp reports a timezone which is not used by GregorianCalendar ?? GregorianCalendar does *not* change its timezone based on the date passed to it. You are responsible for determining that. That's nothing to do with NSTimestamp. This is a difficult bug. Just more a misunderstanding on your part. 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/kenlists%40anderhome.com This email sent to kenli...@anderhome.com Fyrirvari á tölvupósti / e-mail disclaimer http://us.is/Apps/WebObjects/US.woa/wa/dp?id=3776 ___ 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/kenlists%40anderhome.com This email sent to kenli...@anderhome.com Fyrirvari á tölvupósti / e-mail disclaimer http://us.is/Apps/WebObjects/US.woa/wa/dp?id=3776 ___ Do not post admin requests to the
Can't compile this...
I get this error: The type NSArray is not generic; it cannot be parameterized with arguments String on: if ( toAddresses != null ) eMail.setToAddresses(toAddresses); but not on the next line?! if ( ccAddresses != null ) eMail.setCCAddresses(ccAddresses); Their both just NSArrays Did I mistakenly update something? Thanks James Cicenia ___ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: split install issue with 5.4.3
There may well be a bug in WO5.4.x (I haven't deployed any 54 apps as yet) but what you're seeing below is exactly why your attempts to change the property in Monitor etc are being ignored. I can confirm it's a WO 5.4 bug ... 5.4.3 will overwrite any WOFrameworksBaseURL value you pass in on the commandline. 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: an Ajax Drag and Drop question
I' starting using the beautiful Drag and Drop feature. Is possible to update an AjaxContainerId after the drag and drop action? Doesn't the AjaxExample drag and drop example do this? 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: Error updating to latest eclipse and wolips
I'd installed a separate 3.4 and hotness a while back and wanted to start really trying to use it this evening, so fired it up; Software Updates, selected all the standard stuff and then got: Not sure ... I just did a clean install yesterday without any problems ... Is this still causing a problem for you? 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: Bug ID 6342679: NSTimestamp Happy New Year Bug
On Jan 14, 2009, at 3:30 AM, Ken Anderson wrote: NO! It is NOT an incorrect result! The reason you get the result of 1963 when you use 1964 is because Reykjavik is 1 hour off from GMT then. As confusing as it may be, Ken is correct. It is your understanding of how date/times are manipulated that is at fault. This is a complex and confusing area. If you use noon 12:00:00 instead of midnight 00:00:00 in the test dates the result should be as you expect as the time shift will only affect the time portion. The time shift will still happen, but it won't affect the day, month, or year. Chuck On Jan 14, 2009, at 5:11 AM, Barði Einarsson wrote: Ken If I use Atlantic/Reykjavik the code produces incorrect results. So, it is a bug. If I use GMT instead the code would work. That is a work around for a bug. Do you agree? Best regards, Bardi -Original Message- From: Ken Anderson [mailto:kenli...@anderhome.com] Sent: Tue 13-Jan-09 17:59 To: Barði Einarsson Cc: webobjects-dev@lists.apple.com Subject: Re: Bug ID 6342679: NSTimestamp Happy New Year Bug Bardi, OK - it took me all of 10 minutes to solve this. 1. You choose Atlantic/Reykjavik, not GMT, like we suggested. 2. In 1969, Iceland stopped respecting Daylight Savings Time: http://www.timeanddate.com/worldclock/timezone.html?n=211syear=1960 date in yearFromDate : 1968-01-01 00:00:00 Etc/GMT yearFromDate : 1967 TimeZone:Atlantic/Reykjavik date in yearFromDate : 1969-01-01 00:00:00 Etc/GMT yearFromDate : 1969 If you had chosen GMT, where there's no shifts for daylight savings time, it's always accurate. Ken On Jan 13, 2009, at 12:02 PM, Barði Einarsson wrote: It is a bug: run happyNewYear(1964) output: TimeZone:Atlantic/Reykjavik date in yearFromDate : 1964-01-01 00:00:00 Etc/GMT yearFromDate : 1963 package some.packagename; import java.util.GregorianCalendar; import java.util.TimeZone; import com.webobjects.foundation.NSTimeZone; import com.webobjects.foundation.NSTimestamp; public class HappyNewYear { static { TimeZone.setDefault(TimeZone.getTimeZone(Atlantic/ Reykjavik)); NSTimeZone.setDefault(TimeZone.getTimeZone(Atlantic/ Reykjavik)); } public static int yearFromDate(NSTimestamp date) { if (null == date) { return 0; } System.out.println(TimeZone: + TimeZone.getDefault().getID()); GregorianCalendar cal = new GregorianCalendar(); cal.setTime(date); System.out.println(date in yearFromDate : + date); int result = cal.get(GregorianCalendar.YEAR); System.out.println(yearFromDate : + result); return result; } public static void happyNewYear(int year) { NSTimestamp newYear = new NSTimestamp(year, 1, 1, 0, 0, 0, null); yearFromDate(newYear); } } -Original Message- From: Ken Anderson [mailto:kenli...@anderhome.com] Sent: Fri 09-Jan-09 15:23 To: Lachlan Deck Cc: Barði Einarsson; WebObjects-Dev Mailing List List Subject: Re: Bug ID 6342679: NSTimestamp Happy New Year Bug Bardi, I think the most important thing to understand about how dates are moved around is that the value is always GMT based. Timezones are there for convenience... For instance, when you create a new timestamp with a timezone, the timezone is used to adjust the date/time you sent in to GMT and the GMT value is stored. When formatting a date or extracting day/ month/ year from GregorianCalendar, the timezone is used WHEN FORMATTING THE RESULT. If you work with these tenets, things will hopefully be easier. Ken On Jan 8, 2009, at 6:54 PM, Lachlan Deck wrote: On 09/01/2009, at 3:10 AM, Ken Anderson wrote: I do exactly what you're doing all the time, and I do not have the issue you're experiencing. One thing I do at the beginning of my WOApplication subclass is this: TimeZone.setDefault(TimeZone.getTimeZone(GMT)); NSTimeZone.setDefault(TimeZone.getTimeZone(GMT)); This will make sure that you're really working in GMT across the board. Can you do the above and try your tests again? Yep. Behaves correctly - no way Yes way :-) NSTimestamp reports a timezone which is not used by GregorianCalendar ?? GregorianCalendar does *not* change its timezone based on the date passed to it. You are responsible for determining that. That's nothing to do with NSTimestamp. This is a difficult bug. Just more a misunderstanding on your part. 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/kenlists%40anderhome.com This email sent to kenli...@anderhome.com Fyrirvari á tölvupósti / e-mail disclaimer http://us.is/Apps/WebObjects/US.woa/wa/dp?id=3776 ___ Do not post
RE: Bug ID 6342679: NSTimestamp Happy New Year Bug
OK, so when one gives NSTimestamp a null as a time zone it uses GMT, not the default time zone. However, GregorianCalendar uses the default time zone. So, if one wants to use time zones with NSTimestamp, not just GMT, one has to explicitly specify the default time zone in the NSTimestamp constructor. Otherwise, GregorianCalendar will give one unexpected results. The mismatch in the use of default time zones between NSTimestamp and GregorianCalendar is a bug. Comments please. Best regards, Bardi -Original Message- From: Chuck Hill [mailto:ch...@global-village.net] Sent: Wed 14-Jan-09 15:15 To: WebObjects (Group) Cc: Barði Einarsson Subject: Re: Bug ID 6342679: NSTimestamp Happy New Year Bug On Jan 14, 2009, at 3:30 AM, Ken Anderson wrote: NO! It is NOT an incorrect result! The reason you get the result of 1963 when you use 1964 is because Reykjavik is 1 hour off from GMT then. As confusing as it may be, Ken is correct. It is your understanding of how date/times are manipulated that is at fault. This is a complex and confusing area. If you use noon 12:00:00 instead of midnight 00:00:00 in the test dates the result should be as you expect as the time shift will only affect the time portion. The time shift will still happen, but it won't affect the day, month, or year. Chuck On Jan 14, 2009, at 5:11 AM, Barði Einarsson wrote: Ken If I use Atlantic/Reykjavik the code produces incorrect results. So, it is a bug. If I use GMT instead the code would work. That is a work around for a bug. Do you agree? Best regards, Bardi -Original Message- From: Ken Anderson [mailto:kenli...@anderhome.com] Sent: Tue 13-Jan-09 17:59 To: Barði Einarsson Cc: webobjects-dev@lists.apple.com Subject: Re: Bug ID 6342679: NSTimestamp Happy New Year Bug Bardi, OK - it took me all of 10 minutes to solve this. 1. You choose Atlantic/Reykjavik, not GMT, like we suggested. 2. In 1969, Iceland stopped respecting Daylight Savings Time: http://www.timeanddate.com/worldclock/timezone.html?n=211syear=1960 date in yearFromDate : 1968-01-01 00:00:00 Etc/GMT yearFromDate : 1967 TimeZone:Atlantic/Reykjavik date in yearFromDate : 1969-01-01 00:00:00 Etc/GMT yearFromDate : 1969 If you had chosen GMT, where there's no shifts for daylight savings time, it's always accurate. Ken On Jan 13, 2009, at 12:02 PM, Barði Einarsson wrote: It is a bug: run happyNewYear(1964) output: TimeZone:Atlantic/Reykjavik date in yearFromDate : 1964-01-01 00:00:00 Etc/GMT yearFromDate : 1963 package some.packagename; import java.util.GregorianCalendar; import java.util.TimeZone; import com.webobjects.foundation.NSTimeZone; import com.webobjects.foundation.NSTimestamp; public class HappyNewYear { static { TimeZone.setDefault(TimeZone.getTimeZone(Atlantic/ Reykjavik)); NSTimeZone.setDefault(TimeZone.getTimeZone(Atlantic/ Reykjavik)); } public static int yearFromDate(NSTimestamp date) { if (null == date) { return 0; } System.out.println(TimeZone: + TimeZone.getDefault().getID()); GregorianCalendar cal = new GregorianCalendar(); cal.setTime(date); System.out.println(date in yearFromDate : + date); int result = cal.get(GregorianCalendar.YEAR); System.out.println(yearFromDate : + result); return result; } public static void happyNewYear(int year) { NSTimestamp newYear = new NSTimestamp(year, 1, 1, 0, 0, 0, null); yearFromDate(newYear); } } -Original Message- From: Ken Anderson [mailto:kenli...@anderhome.com] Sent: Fri 09-Jan-09 15:23 To: Lachlan Deck Cc: Barði Einarsson; WebObjects-Dev Mailing List List Subject: Re: Bug ID 6342679: NSTimestamp Happy New Year Bug Bardi, I think the most important thing to understand about how dates are moved around is that the value is always GMT based. Timezones are there for convenience... For instance, when you create a new timestamp with a timezone, the timezone is used to adjust the date/time you sent in to GMT and the GMT value is stored. When formatting a date or extracting day/ month/ year from GregorianCalendar, the timezone is used WHEN FORMATTING THE RESULT. If you work with these tenets, things will hopefully be easier. Ken On Jan 8, 2009, at 6:54 PM, Lachlan Deck wrote: On 09/01/2009, at 3:10 AM, Ken Anderson wrote: I do exactly what you're doing all the time, and I do not have the issue you're experiencing. One thing I do at the beginning of my WOApplication subclass is this: TimeZone.setDefault(TimeZone.getTimeZone(GMT)); NSTimeZone.setDefault(TimeZone.getTimeZone(GMT)); This will make sure that you're really working in GMT across the board. Can you do the above and try your tests again? Yep. Behaves correctly - no way Yes way :-) NSTimestamp reports a timezone which is not used by GregorianCalendar
Re: Wonder AjaxSlider
On Jan 14, 2009, at 12:40 AM, Chuck Hill wrote: On Jan 13, 2009, at 9:35 PM, John Ours wrote: On Jan 14, 2009, at 12:11 AM, Chuck Hill wrote: On Jan 12, 2009, at 7:24 AM, John Ours wrote: Hi All, Quick question about the Ajax Slider component in Wonder. What is the rationale behind the OnChangeServer binding? The behavior seems to be that if the binding is set - regardless of its value - an ajax post occurs to set the value. A quick peek at the source confirms that's what's going on...and the value of the binding is being ignored. Was this the intended behavior and I'm missing something? Or would this binding be better expressed as a boolean? The binding is supposed to return a JavaScript snippet to be run in the browser after the slider changes. Thanks Chuck. How does OnChangeServer differ from OnChange then? onChange is static JavaScript, it does not make a trip to the server. onChangeServer sends the current slider position/value back to the server and has the application dynamically generate the JavaScript to return to and execute on the client. [...snip...] Does that code make more sense with the above explanation? Sure does, you're absolutely correct. I hadn't looked hard enough at the Javascript that was generated with the slider...when onChangeServer is bound, the value it returns is injected into the event before the script from the onChange binding (wrapped as parentFunction). Makes sense now. Thanks! ___ 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: an Ajax Drag and Drop question
On Jan 14, 2009, at 10:04 AM, Mike Schrag wrote: Is possible to update an AjaxContainerId after the drag and drop action? Doesn't the AjaxExample drag and drop example do this? Yep, look at the DragAndDropLists example. The other one just updates with Javascript. John ___ 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: Bug ID 6342679: NSTimestamp Happy New Year Bug
On Jan 14, 2009, at 9:11 AM, Barði Einarsson wrote: OK, so when one gives NSTimestamp a null as a time zone it uses GMT, not the default time zone. However, GregorianCalendar uses the default time zone. So, if one wants to use time zones with NSTimestamp, not just GMT, one has to explicitly specify the default time zone in the NSTimestamp constructor. Otherwise, GregorianCalendar will give one unexpected results. Well, that depends on what you expect. :-) The mismatch in the use of default time zones between NSTimestamp and GregorianCalendar is a bug. If it is, it is a bug in GregorianCalendar. Try setting it like this: GregorianCalendar cal = new GregorianCalendar(); cal.clear(); cal.setTime(aDate); Comments please. I think it is important to distinguish between the real time (an absolute point in time) and the name that time is called. The real time never changes. The name we choose to call it does change as we move from time zone to time zone. The best practice is to store the real time (the time in GMT in the case of WO), and use formatters to control the name that we show to the user. Chuck -Original Message- From: Chuck Hill [mailto:ch...@global-village.net] Sent: Wed 14-Jan-09 15:15 To: WebObjects (Group) Cc: Barði Einarsson Subject: Re: Bug ID 6342679: NSTimestamp Happy New Year Bug On Jan 14, 2009, at 3:30 AM, Ken Anderson wrote: NO! It is NOT an incorrect result! The reason you get the result of 1963 when you use 1964 is because Reykjavik is 1 hour off from GMT then. As confusing as it may be, Ken is correct. It is your understanding of how date/times are manipulated that is at fault. This is a complex and confusing area. If you use noon 12:00:00 instead of midnight 00:00:00 in the test dates the result should be as you expect as the time shift will only affect the time portion. The time shift will still happen, but it won't affect the day, month, or year. Chuck On Jan 14, 2009, at 5:11 AM, Barði Einarsson wrote: Ken If I use Atlantic/Reykjavik the code produces incorrect results. So, it is a bug. If I use GMT instead the code would work. That is a work around for a bug. Do you agree? Best regards, Bardi -Original Message- From: Ken Anderson [mailto:kenli...@anderhome.com] Sent: Tue 13-Jan-09 17:59 To: Barði Einarsson Cc: webobjects-dev@lists.apple.com Subject: Re: Bug ID 6342679: NSTimestamp Happy New Year Bug Bardi, OK - it took me all of 10 minutes to solve this. 1. You choose Atlantic/Reykjavik, not GMT, like we suggested. 2. In 1969, Iceland stopped respecting Daylight Savings Time: http://www.timeanddate.com/worldclock/timezone.html?n=211syear=1960 date in yearFromDate : 1968-01-01 00:00:00 Etc/GMT yearFromDate : 1967 TimeZone:Atlantic/Reykjavik date in yearFromDate : 1969-01-01 00:00:00 Etc/GMT yearFromDate : 1969 If you had chosen GMT, where there's no shifts for daylight savings time, it's always accurate. Ken On Jan 13, 2009, at 12:02 PM, Barði Einarsson wrote: It is a bug: run happyNewYear(1964) output: TimeZone:Atlantic/Reykjavik date in yearFromDate : 1964-01-01 00:00:00 Etc/GMT yearFromDate : 1963 package some.packagename; import java.util.GregorianCalendar; import java.util.TimeZone; import com.webobjects.foundation.NSTimeZone; import com.webobjects.foundation.NSTimestamp; public class HappyNewYear { static { TimeZone.setDefault(TimeZone.getTimeZone(Atlantic/ Reykjavik)); NSTimeZone.setDefault(TimeZone.getTimeZone(Atlantic/ Reykjavik)); } public static int yearFromDate(NSTimestamp date) { if (null == date) { return 0; } System.out.println(TimeZone: + TimeZone.getDefault().getID()); GregorianCalendar cal = new GregorianCalendar(); cal.setTime(date); System.out.println(date in yearFromDate : + date); int result = cal.get(GregorianCalendar.YEAR); System.out.println(yearFromDate : + result); return result; } public static void happyNewYear(int year) { NSTimestamp newYear = new NSTimestamp(year, 1, 1, 0, 0, 0, null); yearFromDate(newYear); } } -Original Message- From: Ken Anderson [mailto:kenli...@anderhome.com] Sent: Fri 09-Jan-09 15:23 To: Lachlan Deck Cc: Barði Einarsson; WebObjects-Dev Mailing List List Subject: Re: Bug ID 6342679: NSTimestamp Happy New Year Bug Bardi, I think the most important thing to understand about how dates are moved around is that the value is always GMT based. Timezones are there for convenience... For instance, when you create a new timestamp with a timezone, the timezone is used to adjust the date/time you sent in to GMT and the GMT value is stored. When formatting a date or extracting day/ month/ year from GregorianCalendar, the timezone is used WHEN FORMATTING THE RESULT. If you work with these tenets, things will hopefully be easier. Ken On Jan 8, 2009, at 6:54 PM, Lachlan Deck wrote: On
Re: A relationship in a converted model now throws an exception on save
Hi Mai, On Jan 13, 2009, at 7:34 PM, MAI NGUYEN wrote: Hello Chuck: Mark the id attribute as Allows Null and then make the relationship optional. If the attribute is a primary key attribute and of a numeric type (ex. integer type), then you cannot set it to allow null. I got the same error as David. Mike is working on a fix in Entity Modeler, I believe. Perhaps I don't understand how you are modeling this. A PK to PK relationship can't be optional. A PK to FK relationship can be optional, but is a properly a to-many relationship. How are you modeling this? Chuck On Jan 13, 2009, at 6:57 PM, Chuck Hill wrote: On Jan 6, 2009, at 3:31 PM, David Holt wrote: An application that I have converted from XCode to Eclipse is throwing an error when I save a new document EO. I went back in and looked at the old version of the model in the XCode app and the relationship is marked as to-one optional. The entity modeler version is mandatory to-one and if I try to set it back to optional, it gives me a warning: The relationship documentContent is optional but the attribute id does not allow nulls. What do I need to do to model this correctly and/or get rid of the error on save? Mark the id attribute as Allows Null and then make the relationship optional. Chuck David Jan 06 08:54:33 CARRFS_P2P[49429] (ERXNSLogLog4jBridge.java:43) WARN NSLog - com.webobjects.appserver._private.WOComponentRequestHandler: Exception occurred while handling request: er.extensions.validation.ERXValidationException object: ca.cscw.carrfs_p2pmodel.Document pk:null; propertyKey: documentContent; type: MandatoryToOneRelationshipException; additionalExceptions: () [2009-01-06 08:54:33 PST] WorkerThread1 er.extensions.validation.ERXValidationException object: ca.cscw.carrfs_p2pmodel.Document pk:null; propertyKey: documentContent; type: MandatoryToOneRelationshipException; additionalExceptions: () at com .webobjects .eoaccess.EORelationship.validateValue(EORelationship.java:1805) at com .webobjects .eoaccess .EOEntityClassDescription .validateValueForKey(EOEntityClassDescription.java:443) at er .extensions .eof .ERXEntityClassDescription .validateValueForKey(ERXEntityClassDescription.java:807) at com .webobjects .eocontrol.EOCustomObject.validateValueForKey(EOCustomObject.java: 1339) at er .extensions .eof.ERXGenericRecord.validateValueForKey(ERXGenericRecord.java: 1079) at com .webobjects .eocontrol.EOCustomObject.validateForSave(EOCustomObject.java:1411) at er .extensions .eof.ERXGenericRecord.validateForSave(ERXGenericRecord.java:1125) at com .webobjects .eocontrol.EOCustomObject.validateForInsert(EOCustomObject.java: 1473) at er .extensions .eof.ERXGenericRecord.validateForInsert(ERXGenericRecord.java:1148) at com .webobjects .eocontrol.EOEditingContext.validateTable(EOEditingContext.java: 2249) at com .webobjects .eocontrol .EOEditingContext.validateChangesForSave(EOEditingContext.java:3029) at com .webobjects .eocontrol .EOEditingContext._prepareForPushChanges(EOEditingContext.java:3283) at com .webobjects .eocontrol.EOEditingContext.saveChanges(EOEditingContext.java:3213) at er.extensions.eof.ERXEC._saveChanges(ERXEC.java:981) at er.extensions.eof.ERXEC.saveChanges(ERXEC.java:903) at ca .cscw .carrfs_p2p .AttachMeetingDocument .toAttachMeetingDocument(AttachMeetingDocument.java:130) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun .reflect .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun .reflect .DelegatingMethodAccessorImpl .invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.webobjects.foundation.NSKeyValueCoding$ValueAccessor $1.methodValue(NSKeyValueCoding.java:684) at com.webobjects.foundation.NSKeyValueCoding $_MethodBinding.valueInObject(NSKeyValueCoding.java:1160) at com.webobjects.foundation.NSKeyValueCoding $DefaultImplementation.valueForKey(NSKeyValueCoding.java:1268) at com.webobjects.appserver.WOComponent.valueForKey(WOComponent.java: 1539) at com.webobjects.foundation.NSKeyValueCoding $Utility.valueForKey(NSKeyValueCoding.java:498) at com.webobjects.foundation.NSKeyValueCodingAdditions $ DefaultImplementation .valueForKeyPath(NSKeyValueCodingAdditions.java:212) at com .webobjects.appserver.WOComponent.valueForKeyPath(WOComponent.java: 1600) at com .webobjects .appserver ._private .WOKeyValueAssociation.valueInComponent(WOKeyValueAssociation.java: 46) at com .webobjects.appserver.WOComponent.valueForBinding(WOComponent.java: 735) at com .uploadsuite .NBUploadWithProgress.finalAction(NBUploadWithProgress.java:156) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun .reflect .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun .reflect
Re: OpenBase WebObjects for scaling
Hi Joe, On Jan 13, 2009, at 10:11 AM, Joe Moreno wrote: Andrew, Another thing that's impressed me with OpenBase is the clustering failover. I doubt many people have used this feature. Any SQL written to any database in the cluster is automatically propagated to other OpenBase databases in that cluster within five seconds without any primary key collisions. Do you know how OpenBase handles that? This is usually quite the problem with clustering and replication. Does it need to have a GUID as the primary key, or does it work with integers? Additionally, if the master database fails your WebObjects app will automatically begin using another database in the cluster (no code needed to handle this case). Once the master database recovers, its SQL, from the other databases, is updated and it resumes handling the WO app's SQL. That sounds quite interesting. Chuck On Dec 30, 2008, at 00:39:27, Andrew Lindesay wrote: Hello Joe; I think this problem may be slightly different as it is not necessarily to do with PK's. My understanding is that OpenBasePKPlugIn is there to get EOF to use the OPENBASE PK- generation scheme rather than EO_PK_TABLE. cheers. I think I ran into the exact problem you mentioned about the deadlock in OpenBase 10 using the default primary key generation. Scott Keith advised me to compile the WO apps against the OpenBasePKPlugin.framework which uses the OpenBaseJDBC.jar and, even under heavy load, I've never had a problem using OB 10 with the plugin. I just had to add a single line to my Application.java: JDBCPlugIn .setPlugInNameForSubprotocol (com.webobjects.jdbcadaptor.OpenBasePKPlugIn, openbase); ___ Andrew Lindesay www.lindesay.co.nz ___ 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/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: OpenBase WebObjects for scaling
Hello Chuck; Another thing that's impressed me with OpenBase is the clustering failover. I doubt many people have used this feature. Any SQL written to any database in the cluster is automatically propagated to other OpenBase databases in that cluster within five seconds without any primary key collisions. Do you know how OpenBase handles that? This is usually quite the problem with clustering and replication. Does it need to have a GUID as the primary key, or does it work with integers? As far as I can remember (Scott, you can correct me if I am wrong) it uses a ticker-tape style transaction log -- effectively log shipping. In this manner, transactions are written to a log and then re-played on the other members of the cluster. To avoid primary key conflicts, one employs the OB primary key generation plugin. By using this, one member of the cluster issues primary keys 10,20,30 and the next 11,21,31,41 etc... Off the top of my head, I can't remember how conflicts between logs get resolved -- again, perhaps somebody from Openbase can remind us. cheers. ___ Andrew Lindesay www.lindesay.co.nz ___ 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: OpenBase WebObjects for scaling
On Jan 14, 2009, at 11:08 AM, Andrew Lindesay wrote: Hello Chuck; Another thing that's impressed me with OpenBase is the clustering failover. I doubt many people have used this feature. Any SQL written to any database in the cluster is automatically propagated to other OpenBase databases in that cluster within five seconds without any primary key collisions. Do you know how OpenBase handles that? This is usually quite the problem with clustering and replication. Does it need to have a GUID as the primary key, or does it work with integers? As far as I can remember (Scott, you can correct me if I am wrong) it uses a ticker-tape style transaction log -- effectively log shipping. In this manner, transactions are written to a log and then re-played on the other members of the cluster. To avoid primary key conflicts, one employs the OB primary key generation plugin. By using this, one member of the cluster issues primary keys 10,20,30 and the next 11,21,31,41 etc... That is an interesting way of handling it. It would limit you to 10 copies, but that would be more than enough. Off the top of my head, I can't remember how conflicts between logs get resolved -- again, perhaps somebody from Openbase can remind us. Thanks 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 ___ 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: A relationship in a converted model now throws an exception on save
Hi guys, On 14-Jan-09, at 9:47 AM, Chuck Hill wrote: Hi Mai, On Jan 13, 2009, at 7:34 PM, MAI NGUYEN wrote: Hello Chuck: Mark the id attribute as Allows Null and then make the relationship optional. If the attribute is a primary key attribute and of a numeric type (ex. integer type), then you cannot set it to allow null. I got the same error as David. Mike is working on a fix in Entity Modeler, I believe. Perhaps I don't understand how you are modeling this. A PK to PK relationship can't be optional. A PK to FK relationship can be optional, but is a properly a to-many relationship. I messed up in various ways in looking at this problem. The first was that it was one of my very first models using EOModeler, so I had the relationship running backwards. How this worked correctly in the past, I really don't know. The second way that I messed up was that my Eclipse build was picking up changes in the /Library/Frameworks directory, not in my project. This led to me trying all sorts of modeling behaviour in the framework project I was linked to that wasn't showing up when I ran it. When I finally discovered that this was happening... How are you modeling this? ... I had already deleted the relationship entirely. David Chuck On Jan 13, 2009, at 6:57 PM, Chuck Hill wrote: On Jan 6, 2009, at 3:31 PM, David Holt wrote: An application that I have converted from XCode to Eclipse is throwing an error when I save a new document EO. I went back in and looked at the old version of the model in the XCode app and the relationship is marked as to-one optional. The entity modeler version is mandatory to-one and if I try to set it back to optional, it gives me a warning: The relationship documentContent is optional but the attribute id does not allow nulls. What do I need to do to model this correctly and/or get rid of the error on save? Mark the id attribute as Allows Null and then make the relationship optional. Chuck David Jan 06 08:54:33 CARRFS_P2P[49429] (ERXNSLogLog4jBridge.java:43) WARN NSLog - com.webobjects.appserver._private.WOComponentRequestHandler: Exception occurred while handling request: er.extensions.validation.ERXValidationException object: ca.cscw.carrfs_p2pmodel.Document pk:null; propertyKey: documentContent; type: MandatoryToOneRelationshipException; additionalExceptions: () [2009-01-06 08:54:33 PST] WorkerThread1 er.extensions.validation.ERXValidationException object: ca.cscw.carrfs_p2pmodel.Document pk:null; propertyKey: documentContent; type: MandatoryToOneRelationshipException; additionalExceptions: () at com.webobjects.eoaccess.EORelationship.validateValue (EORelationship.java:1805) at com.webobjects.eoaccess.EOEntityClassDescription.validateValueForKe y(EOEntityClassDescription.java:443) at er.extensions.eof.ERXEntityClassDescription.validateValueForKey (ERXEntityClassDescription.java:807) at com.webobjects.eocontrol.EOCustomObject.validateValueForKey (EOCustomObject.java:1339) at er.extensions.eof.ERXGenericRecord.validateValueForKey (ERXGenericRecord.java:1079) at com.webobjects.eocontrol.EOCustomObject.validateForSave (EOCustomObject.java:1411) at er.extensions.eof.ERXGenericRecord.validateForSave (ERXGenericRecord.java:1125) at com.webobjects.eocontrol.EOCustomObject.validateForInsert (EOCustomObject.java:1473) at er.extensions.eof.ERXGenericRecord.validateForInsert (ERXGenericRecord.java:1148) at com.webobjects.eocontrol.EOEditingContext.validateTable (EOEditingContext.java:2249) at com.webobjects.eocontrol.EOEditingContext.validateChangesForSave (EOEditingContext.java:3029) at com.webobjects.eocontrol.EOEditingContext._prepareForPushChanges (EOEditingContext.java:3283) at com.webobjects.eocontrol.EOEditingContext.saveChanges (EOEditingContext.java:3213) at er.extensions.eof.ERXEC._saveChanges(ERXEC.java:981) at er.extensions.eof.ERXEC.saveChanges(ERXEC.java:903) at ca.cscw.carrfs_p2p.AttachMeetingDocument.toAttachMeetingDocument (AttachMeetingDocument.java:130) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke (NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke (DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:585) at com.webobjects.foundation.NSKeyValueCoding$ValueAccessor $1.methodValue(NSKeyValueCoding.java:684) at com.webobjects.foundation.NSKeyValueCoding $_MethodBinding.valueInObject(NSKeyValueCoding.java:1160) at com.webobjects.foundation.NSKeyValueCoding $DefaultImplementation.valueForKey(NSKeyValueCoding.java:1268) at com.webobjects.appserver.WOComponent.valueForKey (WOComponent.java:1539) at com.webobjects.foundation.NSKeyValueCoding $Utility.valueForKey(NSKeyValueCoding.java:498) at com.webobjects.foundation.NSKeyValueCodingAdditions
Re: Bug ID 6342679: NSTimestamp Happy New Year Bug
Me comment - if mismatches between APIs from different vendors were always considered bugs, I could think of a few hundred off the top of my head :) The NSTimestamp documentation doesn't say what a NULL timezone will represent, so it's unfortunately undetermined. Empirical data supports the idea that it just ignores timezone conversion, which makes sense, since it's only going to use the timezone to modify the date/time passed in before it stores it as GMT. I would guess the code looks like: if (timezone != null) { // morph year/month/day/hour/minute based on passed in time zone } Ken On Jan 14, 2009, at 12:11 PM, Barði Einarsson wrote: OK, so when one gives NSTimestamp a null as a time zone it uses GMT, not the default time zone. However, GregorianCalendar uses the default time zone. So, if one wants to use time zones with NSTimestamp, not just GMT, one has to explicitly specify the default time zone in the NSTimestamp constructor. Otherwise, GregorianCalendar will give one unexpected results. The mismatch in the use of default time zones between NSTimestamp and GregorianCalendar is a bug. Comments please. Best regards, Bardi -Original Message- From: Chuck Hill [mailto:ch...@global-village.net] Sent: Wed 14-Jan-09 15:15 To: WebObjects (Group) Cc: Barði Einarsson Subject: Re: Bug ID 6342679: NSTimestamp Happy New Year Bug On Jan 14, 2009, at 3:30 AM, Ken Anderson wrote: NO! It is NOT an incorrect result! The reason you get the result of 1963 when you use 1964 is because Reykjavik is 1 hour off from GMT then. As confusing as it may be, Ken is correct. It is your understanding of how date/times are manipulated that is at fault. This is a complex and confusing area. If you use noon 12:00:00 instead of midnight 00:00:00 in the test dates the result should be as you expect as the time shift will only affect the time portion. The time shift will still happen, but it won't affect the day, month, or year. Chuck On Jan 14, 2009, at 5:11 AM, Barði Einarsson wrote: Ken If I use Atlantic/Reykjavik the code produces incorrect results. So, it is a bug. If I use GMT instead the code would work. That is a work around for a bug. Do you agree? Best regards, Bardi -Original Message- From: Ken Anderson [mailto:kenli...@anderhome.com] Sent: Tue 13-Jan-09 17:59 To: Barði Einarsson Cc: webobjects-dev@lists.apple.com Subject: Re: Bug ID 6342679: NSTimestamp Happy New Year Bug Bardi, OK - it took me all of 10 minutes to solve this. 1. You choose Atlantic/Reykjavik, not GMT, like we suggested. 2. In 1969, Iceland stopped respecting Daylight Savings Time: http://www.timeanddate.com/worldclock/timezone.html?n=211syear=1960 date in yearFromDate : 1968-01-01 00:00:00 Etc/GMT yearFromDate : 1967 TimeZone:Atlantic/Reykjavik date in yearFromDate : 1969-01-01 00:00:00 Etc/GMT yearFromDate : 1969 If you had chosen GMT, where there's no shifts for daylight savings time, it's always accurate. Ken On Jan 13, 2009, at 12:02 PM, Barði Einarsson wrote: It is a bug: run happyNewYear(1964) output: TimeZone:Atlantic/Reykjavik date in yearFromDate : 1964-01-01 00:00:00 Etc/GMT yearFromDate : 1963 package some.packagename; import java.util.GregorianCalendar; import java.util.TimeZone; import com.webobjects.foundation.NSTimeZone; import com.webobjects.foundation.NSTimestamp; public class HappyNewYear { static { TimeZone.setDefault(TimeZone.getTimeZone(Atlantic/ Reykjavik)); NSTimeZone.setDefault(TimeZone.getTimeZone(Atlantic/ Reykjavik)); } public static int yearFromDate(NSTimestamp date) { if (null == date) { return 0; } System.out.println(TimeZone: + TimeZone.getDefault().getID()); GregorianCalendar cal = new GregorianCalendar(); cal.setTime(date); System.out.println(date in yearFromDate : + date); int result = cal.get(GregorianCalendar.YEAR); System.out.println(yearFromDate : + result); return result; } public static void happyNewYear(int year) { NSTimestamp newYear = new NSTimestamp(year, 1, 1, 0, 0, 0, null); yearFromDate(newYear); } } -Original Message- From: Ken Anderson [mailto:kenli...@anderhome.com] Sent: Fri 09-Jan-09 15:23 To: Lachlan Deck Cc: Barði Einarsson; WebObjects-Dev Mailing List List Subject: Re: Bug ID 6342679: NSTimestamp Happy New Year Bug Bardi, I think the most important thing to understand about how dates are moved around is that the value is always GMT based. Timezones are there for convenience... For instance, when you create a new timestamp with a timezone, the timezone is used to adjust the date/time you sent in to GMT and the GMT value is stored. When formatting a date or extracting day/ month/ year from GregorianCalendar, the timezone is used WHEN FORMATTING THE RESULT. If you work with these tenets, things will hopefully be easier. Ken On Jan 8, 2009, at 6:54 PM, Lachlan Deck
Re: OpenBase WebObjects for scaling
Hi All, I want to comment on a few things in this thread. OpenBase generates globally unique keys by incrementing the key by a set multiple (either 10 or 100). When you setup a cluster, each database gets its own unique identifier (0-99) and that identifier is used to generate keys for that database which are globally unique. So for instance, db #1 would generate keys 1001,1011,1021,1031,etc. db #2 would generate keys 1002,1012,1022,1032. This way if the link between the databases ever goes down, the keys generated would still be guaranteed to be unique. Regarding the fix described at: http://homepage.mac.com/andrewlindesay/le/manuals/lewostuff/LEWOStuffOverview.pdf (Section 9: OPENBASE JDBC Adaptor, on page 119.) We are planning to compile this fix directly into the OpenBase Plugin. What the fix does is grab the locks at the beginning of the transaction so there will never be a case where the transaction needs to be aborted to avoid a deadlock with another transaction. This is essentially what it does at the SQL level: START TRANSACTION WRITE TABLE foo, bar INSERT INTO foo... INSERT INTO bar... COMMIT If you have not had a chance to try OpenBase 11 (beta), you can find it at http://www.openbase.com/beta. Other things that are going into OpenBase 11 include: incremental backups, PDF document value extraction, always-on encryption, improved handling of dynamic networks and a whole bunch of other features. A 64 bit version is also in the works. Best regards, Scott Keith OpenBase Begin forwarded message: From: Chuck Hill ch...@global-village.net Date: January 14, 2009 10:47:49 AM PST To: Joe Moreno joemor...@mac.com Cc: WebObjects-Dev Mailing List webobjects-dev@lists.apple.com Subject: Re: OpenBase WebObjects for scaling Hi Joe, On Jan 13, 2009, at 10:11 AM, Joe Moreno wrote: Andrew, Another thing that's impressed me with OpenBase is the clustering failover. I doubt many people have used this feature. Any SQL written to any database in the cluster is automatically propagated to other OpenBase databases in that cluster within five seconds without any primary key collisions. Do you know how OpenBase handles that? This is usually quite the problem with clustering and replication. Does it need to have a GUID as the primary key, or does it work with integers? Additionally, if the master database fails your WebObjects app will automatically begin using another database in the cluster (no code needed to handle this case). Once the master database recovers, its SQL, from the other databases, is updated and it resumes handling the WO app's SQL. That sounds quite interesting. Chuck On Dec 30, 2008, at 00:39:27, Andrew Lindesay wrote: Hello Joe; I think this problem may be slightly different as it is not necessarily to do with PK's. My understanding is that OpenBasePKPlugIn is there to get EOF to use the OPENBASE PK- generation scheme rather than EO_PK_TABLE. cheers. I think I ran into the exact problem you mentioned about the deadlock in OpenBase 10 using the default primary key generation. Scott Keith advised me to compile the WO apps against the OpenBasePKPlugin.framework which uses the OpenBaseJDBC.jar and, even under heavy load, I've never had a problem using OB 10 with the plugin. I just had to add a single line to my Application.java: JDBCPlugIn .setPlugInNameForSubprotocol (com.webobjects.jdbcadaptor.OpenBasePKPlugIn, openbase); ___ Andrew Lindesay www.lindesay.co.nz ___ 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/george%40boxofficetickets.com This email sent to geo...@boxofficetickets.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
Re: OpenBase WebObjects for scaling
That is correct. In the even there is a conflict, we do a synchronization pass to resolve it. - Scott On Jan 14, 2009, at 2:08 PM, Andrew Lindesay wrote: Hello Chuck; Another thing that's impressed me with OpenBase is the clustering failover. I doubt many people have used this feature. Any SQL written to any database in the cluster is automatically propagated to other OpenBase databases in that cluster within five seconds without any primary key collisions. Do you know how OpenBase handles that? This is usually quite the problem with clustering and replication. Does it need to have a GUID as the primary key, or does it work with integers? As far as I can remember (Scott, you can correct me if I am wrong) it uses a ticker-tape style transaction log -- effectively log shipping. In this manner, transactions are written to a log and then re-played on the other members of the cluster. To avoid primary key conflicts, one employs the OB primary key generation plugin. By using this, one member of the cluster issues primary keys 10,20,30 and the next 11,21,31,41 etc... Off the top of my head, I can't remember how conflicts between logs get resolved -- again, perhaps somebody from Openbase can remind us. ___ 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: an Ajax Drag and Drop question
Thanks! On 14/gen/09, at 18:29, John Ours wrote: On Jan 14, 2009, at 10:04 AM, Mike Schrag wrote: Is possible to update an AjaxContainerId after the drag and drop action? Doesn't the AjaxExample drag and drop example do this? Yep, look at the DragAndDropLists example. The other one just updates with Javascript. John ___ 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/amedeomailing%40insigno.it This email sent to amedeomail...@insigno.it ___ 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
A tiny bug in AjaxFunctionLink class
if you see the available bindings, there are: onclick, but should be onClick ( uppercase 'C' ), is just annoying because is easy to mistake. can you check? Regards Amedeo ___ 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: A tiny bug in AjaxFunctionLink class
On Jan 14, 2009, at 2:43 PM, Amedeo Mantica wrote: if you see the available bindings, there are: onclick, but should be onClick ( uppercase 'C' ), is just annoying because is easy to mistake. can you check? This should be on the Wonder list. There seems to be a lot of inconsistency in the use between onclick and onClick. But changing it now will break existing code. Both would have to be allowed. Mike, thoughts? 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 ___ 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: How do I debug this jdbc error?
James, Can you post the EOModel plist for the entity in question? Ken On Jan 14, 2009, at 7:45 PM, James Cicenia wrote: OK - I still haven't figured this error out. I can write a new record. But when I try to edit the record I get the error?! It is calling the same submit method, etc. Model looks fine. A new field column was added to the Sybase db. Basically, it seems as though the new field/attribute is causing the grief Any other thoughts? Thanks James Cicenia On Jan 13, 2009, at 9:28 AM, Mike Schrag wrote: wo version? wonder/version? did you diff your model? what changed? do any of your changes look suspicious? On Jan 13, 2009, at 7:22 AM, James Cicenia wrote: OK - The old app does write without the exception. It uses the same model, adaptor, etc. The new app crashes upon: currentObject.editingContext().saveChanges(); Thoughts? Thanks James On Jan 13, 2009, at 8:29 AM, Ken Anderson wrote: James, What are you doing when this occurs? Do other operations work? Ken On Jan 13, 2009, at 9:21 AM, James Cicenia wrote: How do I debug this error. I have never seen it before. I am working with SYBASE as the database. Is this the jdbc adaptor issue? thanks James Cicenia [2009-01-13 08:15:51 CST] WorkerThread7 com.webobjects.appserver._private.WOComponentRequestHandler: Exception occurred while handling request: java.lang.NullPointerException [2009-01-13 08:15:51 CST] WorkerThread7 java.lang.NullPointerException at com .webobjects .jdbcadaptor.JDBCAdaptor.isValidQualifierType(JDBCAdaptor.java: 659) at com .webobjects .eoaccess .EODatabaseContext .isValidQualifierTypeForAttribute(EODatabaseContext.java:5174) at com .webobjects .eoaccess .EODatabaseContext .lockingNonQualifiableAttributes(EODatabaseContext.java:5188) at com .webobjects .eoaccess .EODatabaseContext .createAdaptorOperationsForDatabaseOperationAttributes (EODatabaseContext.java:5374) at com .webobjects .eoaccess .EODatabaseContext .createAdaptorOperationsForDatabaseOperation (EODatabaseContext.java:5548) at com .webobjects .eoaccess .EODatabaseContext.performChanges(EODatabaseContext.java:6365) at com .webobjects .eocontrol .EOObjectStoreCoordinator .saveChangesInEditingContext(EOObjectStoreCoordinator.java:415) at com .webobjects .eocontrol.EOEditingContext.saveChanges(EOEditingContext.java: 3223) at EditPerson.tryToSaveChanges(EditPerson.java:192) at EditPerson.saveAction(EditPerson.java:512) at sun.reflect.NativeMethodAccessorImpl.invoke0(Nat ___ 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/kenlists%40anderhome.com This email sent to kenli...@anderhome.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/mschrag%40mdimension.com This email sent to msch...@mdimension.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/james%40jimijon.com This email sent to ja...@jimijon.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/kenlists%40anderhome.com This email sent to kenli...@anderhome.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
Problems compiling mod_WebObjects for Apache2.2 on MacOS 10.4.11
Hi there, I'm trying to upgrade a MacOS 10.4.11 box from Apache 1.3.41 to Apache 2.2 - we want to use some Apache mods that are 2.2 only. I've successfully installed Apache 2.2.11 via macports, and after a lot of googling, found that there is an Apache 2.2 compatible mod_WebObjects in Project Wonder. So, I downloaded http://webobjects.mdimension.com/wonder/Wonder-latest-Source.tar.gz, untarred it, edited the make.config and attempted to compile it. Now, I'm getting this error; /opt/local/apache2/bin/apxs -c -S CC=gcc -Wc,-O2 -Wall -I/opt/local/apache2/include -I/opt/local/include/apr-1 -I../Adaptor -DSINGLE_THREADED_ADAPTOR -DMACOS -DFORKING_WEBSERVER -DAPACHE-Wl, -macosx_version_min 10.4 -lm -module mod_WebObjects.c ../Adaptor/MoreURLCUtilities.c ../Adaptor/Platform.c ../Adaptor/WOURLCUtilities.c ../Adaptor/WOURLCUtilities_3.c ../Adaptor/appcfg.c ../Adaptor/cfgparse.c ../Adaptor/config.c ../Adaptor/hostlookup.c ../Adaptor/list.c ../Adaptor/listing.c ../Adaptor/loadaverage.c ../Adaptor/loadbalancing.c ../Adaptor/log.c ../Adaptor/nbsocket.c ../Adaptor/random.c ../Adaptor/request.c ../Adaptor/response.c ../Adaptor/roundrobin.c ../Adaptor/shmem.c ../Adaptor/strdict.c ../Adaptor/strtbl.c ../Adaptor/transaction.c ../Adaptor/transport.c ../Adaptor/wastring.c ../Adaptor/womalloc.c ../Adaptor/xmlcparser.c ../Adaptor/xmlctokenizer.c ../Adaptor/xmlparse.c /opt/local/share/apr-1/build/libtool --silent --mode=compile gcc -prefer-pic -O2 -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp-precomp -I/opt/local/include -I/opt/local/apache2/include -I/opt/local/include/apr-1 -I/opt/local/include/apr-1 -I/opt/local/include -O2 -Wall -I/opt/local/apache2/include -I/opt/local/include/apr-1 -I../Adaptor -DSINGLE_THREADED_ADAPTOR -DMACOS -DFORKING_WEBSERVER -DAPACHE -c -o mod_WebObjects.lo mod_WebObjects.c touch mod_WebObjects.slo libtool: compile: unable to infer tagged configuration libtool: compile: specify a tag with `--tag' apxs:Error: Command failed with rc=65536 I did find a reference to this problem by Travis Cripps at http://en.wikibooks.org/wiki/Programming:WebObjects/Web_Applications/Deploym ent/Apache which mentioned adding CC=gcc To the make.config to fix it, however I have made this change (and it does appear to be using gcc), but I still get the same error. What I have is; MacOS 10.4.11 Apache 2.2.11, installed at /opt/local/apache2 Wonder-latest-Source.tar.gz dated 14 Jan 2009 Gcc version : powerpc-apple-darwin8-gcc-4.0.1 Variables I have explicitly set in make.config; ADAPTORS=Apache2.2 APACHEINCLUDE_DIR=/opt/local/apache2/include APACHEMODULE_DIR=/opt/local/apache2/modules APXS=/opt/local/apache2/bin/apxs CC=gcc And in Apache2.2/Makefile I tweaked MACOSX_DEPLOYMENT_TARGET to 10.4 and macosx_version_min to 10.4 - they were 10.5. Any ideas on how to get past this? Thanks very much Rhys Dewar ___ 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: How do I debug this jdbc error?
The database admin person thought he saw something whereby it hung his client tool. It might not be a WebObjects issue after all, but something Sybase related with adding the new column. Thanks James On Jan 14, 2009, at 7:14 PM, Ken Anderson wrote: James, Can you post the EOModel plist for the entity in question? Ken On Jan 14, 2009, at 7:45 PM, James Cicenia wrote: OK - I still haven't figured this error out. I can write a new record. But when I try to edit the record I get the error?! It is calling the same submit method, etc. Model looks fine. A new field column was added to the Sybase db. Basically, it seems as though the new field/attribute is causing the grief Any other thoughts? Thanks James Cicenia On Jan 13, 2009, at 9:28 AM, Mike Schrag wrote: wo version? wonder/version? did you diff your model? what changed? do any of your changes look suspicious? On Jan 13, 2009, at 7:22 AM, James Cicenia wrote: OK - The old app does write without the exception. It uses the same model, adaptor, etc. The new app crashes upon: currentObject.editingContext().saveChanges(); Thoughts? Thanks James On Jan 13, 2009, at 8:29 AM, Ken Anderson wrote: James, What are you doing when this occurs? Do other operations work? Ken On Jan 13, 2009, at 9:21 AM, James Cicenia wrote: How do I debug this error. I have never seen it before. I am working with SYBASE as the database. Is this the jdbc adaptor issue? thanks James Cicenia [2009-01-13 08:15:51 CST] WorkerThread7 com.webobjects.appserver._private.WOComponentRequestHandler: Exception occurred while handling request: java.lang.NullPointerException [2009-01-13 08:15:51 CST] WorkerThread7 java.lang.NullPointerException at com .webobjects .jdbcadaptor.JDBCAdaptor.isValidQualifierType(JDBCAdaptor.java: 659) at com .webobjects .eoaccess .EODatabaseContext .isValidQualifierTypeForAttribute(EODatabaseContext.java:5174) at com .webobjects .eoaccess .EODatabaseContext .lockingNonQualifiableAttributes(EODatabaseContext.java:5188) at com .webobjects .eoaccess .EODatabaseContext .createAdaptorOperationsForDatabaseOperationAttributes (EODatabaseContext.java:5374) at com .webobjects .eoaccess .EODatabaseContext .createAdaptorOperationsForDatabaseOperation (EODatabaseContext.java:5548) at com .webobjects .eoaccess .EODatabaseContext.performChanges(EODatabaseContext.java:6365) at com .webobjects .eocontrol .EOObjectStoreCoordinator .saveChangesInEditingContext(EOObjectStoreCoordinator.java:415) at com .webobjects .eocontrol.EOEditingContext.saveChanges(EOEditingContext.java: 3223) at EditPerson.tryToSaveChanges(EditPerson.java:192) at EditPerson.saveAction(EditPerson.java:512) at sun.reflect.NativeMethodAccessorImpl.invoke0(Nat ___ 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/kenlists%40anderhome.com This email sent to kenli...@anderhome.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/mschrag%40mdimension.com This email sent to msch...@mdimension.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/james%40jimijon.com This email sent to ja...@jimijon.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/kenlists%40anderhome.com This email sent to kenli...@anderhome.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
Re: Problems compiling mod_WebObjects for Apache2.2 on MacOS 10.4.11
First thing I would try is rebuilding and reinstalling apr-1 On 15/01/2009, at 11:21 AM, Rhys Dewar wrote: Hi there, I’m trying to upgrade a MacOS 10.4.11 box from Apache 1.3.41 to Apache 2.2 – we want to use some Apache mods that are 2.2 only. I’ve successfully installed Apache 2.2.11 via macports, and after a lot of googling, found that there is an Apache 2.2 compatible mod_WebObjects in Project Wonder. So, I downloaded http://webobjects.mdimension.com/wonder/Wonder-latest-Source.tar.gz , untarred it, edited the make.config and attempted to compile it. Now, I’m getting this error; /opt/local/apache2/bin/apxs -c -S CC=gcc -Wc,-O2 -Wall -I/opt/local/ apache2/include -I/opt/local/include/apr-1 -I../Adaptor - DSINGLE_THREADED_ADAPTOR -DMACOS -DFORKING_WEBSERVER -DAPACHE- Wl, -macosx_version_min 10.4 -lm -module mod_WebObjects.c ../ Adaptor/MoreURLCUtilities.c ../Adaptor/Platform.c ../Adaptor/ WOURLCUtilities.c ../Adaptor/WOURLCUtilities_3.c ../Adaptor/ appcfg.c ../Adaptor/cfgparse.c ../Adaptor/config.c ../Adaptor/ hostlookup.c ../Adaptor/list.c ../Adaptor/listing.c ../Adaptor/ loadaverage.c ../Adaptor/loadbalancing.c ../Adaptor/log.c ../Adaptor/ nbsocket.c ../Adaptor/random.c ../Adaptor/request.c ../Adaptor/ response.c ../Adaptor/roundrobin.c ../Adaptor/shmem.c ../Adaptor/ strdict.c ../Adaptor/strtbl.c ../Adaptor/transaction.c ../Adaptor/ transport.c ../Adaptor/wastring.c ../Adaptor/womalloc.c ../Adaptor/ xmlcparser.c ../Adaptor/xmlctokenizer.c ../Adaptor/xmlparse.c /opt/local/share/apr-1/build/libtool --silent --mode=compile gcc - prefer-pic -O2 -DDARWIN -DSIGPROCMASK_SETS_THREAD_MASK -no-cpp- precomp -I/opt/local/include -I/opt/local/apache2/include -I/opt/ local/include/apr-1 -I/opt/local/include/apr-1 -I/opt/local/ include -O2 -Wall -I/opt/local/apache2/include -I/opt/local/include/ apr-1 -I../Adaptor -DSINGLE_THREADED_ADAPTOR -DMACOS - DFORKING_WEBSERVER -DAPACHE -c -o mod_WebObjects.lo mod_WebObjects.c touch mod_WebObjects.slo libtool: compile: unable to infer tagged configuration libtool: compile: specify a tag with `--tag' apxs:Error: Command failed with rc=65536 I did find a reference to this problem by Travis Cripps at http://en.wikibooks.org/wiki/Programming:WebObjects/Web_Applications/Deployment/Apachewhich mentioned adding CC=gcc To the make.config to fix it, however I have made this change (and it does appear to be using gcc), but I still get the same error. What I have is; MacOS 10.4.11 Apache 2.2.11, installed at /opt/local/apache2 Wonder-latest-Source.tar.gz dated 14 Jan 2009 Gcc version : powerpc-apple-darwin8-gcc-4.0.1 Variables I have explicitly set in make.config; ADAPTORS=Apache2.2 APACHEINCLUDE_DIR=/opt/local/apache2/include APACHEMODULE_DIR=/opt/local/apache2/modules APXS=/opt/local/apache2/bin/apxs CC=gcc And in Apache2.2/Makefile I tweaked MACOSX_DEPLOYMENT_TARGET to 10.4 and macosx_version_min to 10.4 – they were 10.5. Any ideas on how to get past this? Thanks very much Rhys Dewar ___ 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/qdolan%40gmail.com This email sent to qdo...@gmail.com -- Seeya...Q Quinton Dolan - qdo...@gmail.com Gold Coast, QLD, Australia (GMT+10) Ph: +61 419 729 806 ___ 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: How do I debug this jdbc error?
On Jan 14, 2009, at 4:45 PM, James Cicenia wrote: OK - I still haven't figured this error out. I can write a new record. But when I try to edit the record I get the error?! It is calling the same submit method, etc. Model looks fine. A new field column was added to the Sybase db. Basically, it seems as though the new field/attribute is causing the grief Any other thoughts? An external type is wrong or missing, a prototype is wrong or missing, the model contains invalid or out of date jdbc2info. Chuck On Jan 13, 2009, at 9:28 AM, Mike Schrag wrote: wo version? wonder/version? did you diff your model? what changed? do any of your changes look suspicious? On Jan 13, 2009, at 7:22 AM, James Cicenia wrote: OK - The old app does write without the exception. It uses the same model, adaptor, etc. The new app crashes upon: currentObject.editingContext().saveChanges(); Thoughts? Thanks James On Jan 13, 2009, at 8:29 AM, Ken Anderson wrote: James, What are you doing when this occurs? Do other operations work? Ken On Jan 13, 2009, at 9:21 AM, James Cicenia wrote: How do I debug this error. I have never seen it before. I am working with SYBASE as the database. Is this the jdbc adaptor issue? thanks James Cicenia [2009-01-13 08:15:51 CST] WorkerThread7 com.webobjects.appserver._private.WOComponentRequestHandler: Exception occurred while handling request: java.lang.NullPointerException [2009-01-13 08:15:51 CST] WorkerThread7 java.lang.NullPointerException at com .webobjects .jdbcadaptor.JDBCAdaptor.isValidQualifierType(JDBCAdaptor.java: 659) at com .webobjects .eoaccess .EODatabaseContext .isValidQualifierTypeForAttribute(EODatabaseContext.java:5174) at com .webobjects .eoaccess .EODatabaseContext .lockingNonQualifiableAttributes(EODatabaseContext.java:5188) at com .webobjects .eoaccess .EODatabaseContext .createAdaptorOperationsForDatabaseOperationAttributes (EODatabaseContext.java:5374) at com .webobjects .eoaccess .EODatabaseContext .createAdaptorOperationsForDatabaseOperation (EODatabaseContext.java:5548) at com .webobjects .eoaccess .EODatabaseContext.performChanges(EODatabaseContext.java:6365) at com .webobjects .eocontrol .EOObjectStoreCoordinator .saveChangesInEditingContext(EOObjectStoreCoordinator.java:415) at com .webobjects .eocontrol.EOEditingContext.saveChanges(EOEditingContext.java: 3223) at EditPerson.tryToSaveChanges(EditPerson.java:192) at EditPerson.saveAction(EditPerson.java:512) at sun.reflect.NativeMethodAccessorImpl.invoke0(Nat ___ 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/kenlists%40anderhome.com This email sent to kenli...@anderhome.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/mschrag%40mdimension.com This email sent to msch...@mdimension.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/james%40jimijon.com This email sent to ja...@jimijon.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/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/archive%40mail-archive.com This email sent to arch...@mail-archive.com
Re: How do I debug this jdbc error?
I asked 5 questions in the email you're responding to .. you SORT OF answered one of them ... On Jan 14, 2009, at 4:45 PM, James Cicenia wrote: OK - I still haven't figured this error out. I can write a new record. But when I try to edit the record I get the error?! It is calling the same submit method, etc. Model looks fine. A new field column was added to the Sybase db. Basically, it seems as though the new field/attribute is causing the grief Any other thoughts? Thanks James Cicenia On Jan 13, 2009, at 9:28 AM, Mike Schrag wrote: wo version? wonder/version? did you diff your model? what changed? do any of your changes look suspicious? On Jan 13, 2009, at 7:22 AM, James Cicenia wrote: OK - The old app does write without the exception. It uses the same model, adaptor, etc. The new app crashes upon: currentObject.editingContext().saveChanges(); Thoughts? Thanks James On Jan 13, 2009, at 8:29 AM, Ken Anderson wrote: James, What are you doing when this occurs? Do other operations work? Ken On Jan 13, 2009, at 9:21 AM, James Cicenia wrote: How do I debug this error. I have never seen it before. I am working with SYBASE as the database. Is this the jdbc adaptor issue? thanks James Cicenia [2009-01-13 08:15:51 CST] WorkerThread7 com.webobjects.appserver._private.WOComponentRequestHandler: Exception occurred while handling request: java.lang.NullPointerException [2009-01-13 08:15:51 CST] WorkerThread7 java.lang.NullPointerException at com .webobjects .jdbcadaptor.JDBCAdaptor.isValidQualifierType(JDBCAdaptor.java: 659) at com .webobjects .eoaccess .EODatabaseContext .isValidQualifierTypeForAttribute(EODatabaseContext.java:5174) at com .webobjects .eoaccess .EODatabaseContext .lockingNonQualifiableAttributes(EODatabaseContext.java:5188) at com .webobjects .eoaccess .EODatabaseContext .createAdaptorOperationsForDatabaseOperationAttributes (EODatabaseContext.java:5374) at com .webobjects .eoaccess .EODatabaseContext .createAdaptorOperationsForDatabaseOperation (EODatabaseContext.java:5548) at com .webobjects .eoaccess .EODatabaseContext.performChanges(EODatabaseContext.java:6365) at com .webobjects .eocontrol .EOObjectStoreCoordinator .saveChangesInEditingContext(EOObjectStoreCoordinator.java:415) at com .webobjects .eocontrol.EOEditingContext.saveChanges(EOEditingContext.java: 3223) at EditPerson.tryToSaveChanges(EditPerson.java:192) at EditPerson.saveAction(EditPerson.java:512) at sun.reflect.NativeMethodAccessorImpl.invoke0(Nat ___ 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/kenlists%40anderhome.com This email sent to kenli...@anderhome.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/mschrag%40mdimension.com This email sent to msch...@mdimension.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/james%40jimijon.com This email sent to ja...@jimijon.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/mschrag%40mdimension.com This email sent to msch...@mdimension.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
RE: Problems compiling mod_WebObjects for Apache2.2 on MacOS 10.4.11
Found a solution to this; libtool: compile: unable to infer tagged configuration libtool: compile: specify a tag with `--tag' apxs:Error: Command failed with rc=65536 The problem was with the Apache apxs tool on MacOS. Solution was, funnily enough, to supply it with a tag. Tricky bit was finding where to specify the tag and what value to give it. Solution was to edit; /opt/local/apache2/bin/apxs And change; $ltflags or $ltflags = --silent; to $ltflags or $ltflags = --silent --tag=CC; I was able to successfully compile and install mod_WebObjects after that. Thanks Rhys Dewar ___ 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