On 13/01/2009, at 4:38 PM, Lachlan Deck wrote:

On 13/01/2009, at 11:14 AM, D Tim Cummings wrote:

Yes, bug radar 6487590

This may, of course, not be a bug of Apple's but with the final build. Check the executable script for your app. i.e.,
$ less YourApp.woa/YourApp

The last line of mine has this:
eval exec ${JAVA_EXECUTABLE} ${JAVA_EXECUTABLE_ARGS} -classpath WOBootstrap.jar com.webobjects._bootstrap.WOBootstrap $ {COMMAND_LINE_ARGS} -WOFrameworksBaseURL /WebObjects/MyApp.woa/ Contents/Frameworks

i.e., the WOFrameworksBaseURL is specifically getting set (whereas in the past this used to not be the case). Now I'm building with maven (using the woproject-maven plugin) but it's highly possible that seeing as it shares some functionality with woproject ant stuff that this is also happening for you for embedded builds.

If yours also has this - then this *is* the problem. That's why your properties are getting ignored - because the first property wins.

with regards,
--

Lachlan Deck



Hi Lachlan

This is definitely an Apple bug. It doesn't occur in WebObjects 5.3.3 but does occur in WebObjects 5.4.3. Are you deploying using WebObjects 5.4.3 in your apps which use WOFrameworksBaseURL? If so you need to check the urls of any static webserver resources from frameworks because I would say they are coming from the wrong place. Below is what I already posted to the WebObjects deploy mailing list which shows that when you first call WOApplication.frameworksBaseURL() it actually changes the value from whatever you have set it, to / WebObjects/Frameworks. This is particularly dangerous in a deploy situation because you think it is using the latest ajax scripts from your embedded frameworks in your split install, but in fact it is using some old ajax javascript that happened to be sitting /Library/ WebServer/Documents/WebObjects/Frameworks.


To identify the bug I added some more logging and overrode some WOApplication methods. As you can see the first call to frameworksBaseURL() in WebObjects 5.4.3 actually calls setFrameworksBaseURL("/WebObjects/Frameworks"). This does not happen in WebObjects 5.3.3

public class Application extends WOApplication {
        public static void main(String[] argv) {
                WOApplication.main(argv, Application.class);
        }

        public Application() {
                NSLog.out.appendln("Welcome to " + name() + " !");
                /* ** put your initialization code in here ** */
if ( System.getProperty("WOFrameworksBaseURL") != null ) setFrameworksBaseURL(System.getProperty("WOFrameworksBaseURL"));
                frameworksBaseURL();
if ( System.getProperty("WOFrameworksBaseURL") != null ) setFrameworksBaseURL(System.getProperty("WOFrameworksBaseURL"));
                frameworksBaseURL();
        }

        @Override
        public String frameworksBaseURL() {
NSLog.out.appendln("frameworksBaseURL() pre super: WOProperties.TheFrameworksBaseURL = " + WOProperties.TheFrameworksBaseURL); NSLog.out.appendln("frameworksBaseURL() pre super: System.getProperty(WOFrameworksBaseURL) = " + System.getProperty("WOFrameworksBaseURL"));
                String s = super.frameworksBaseURL();
NSLog.out.appendln("frameworksBaseURL() post super: WOProperties.TheFrameworksBaseURL = " + WOProperties.TheFrameworksBaseURL); NSLog.out.appendln("frameworksBaseURL() post super: System.getProperty(WOFrameworksBaseURL) = " + System.getProperty("WOFrameworksBaseURL")); NSLog.out.appendln("frameworksBaseURL() post super: super.frameworksBaseURL() = " + s);
                NSLog.out.appendln("");               
                return s;
        }

        @Override
        public void setFrameworksBaseURL(String string) {
NSLog.out.appendln("setFrameworksBaseURL(String string): change from " + WOProperties.TheFrameworksBaseURL + " to " + string);
                super.setFrameworksBaseURL(string);
        }
        
}




WEBOBJECTS 5.4.3 - SHOWS BUG

[2009-1-11 11:26:8 EST] <main> WOFrameworksBaseURL=/WebObjects/ WeboTest.woa/Frameworks
...
[2009-1-11 11:26:8 EST] <main> WebObjects version = 5.4.3
...
Welcome to WeboTest !
setFrameworksBaseURL(String string): change from null to /WebObjects/ WeboTest.woa/Frameworks frameworksBaseURL() pre super: WOProperties.TheFrameworksBaseURL = /WebObjects/WeboTest.woa/ Frameworks frameworksBaseURL() pre super: System.getProperty(WOFrameworksBaseURL) = /WebObjects/WeboTest.woa/ Frameworks setFrameworksBaseURL(String string): change from /WebObjects/ WeboTest.woa/Frameworks to /WebObjects/Frameworks <--WHO'S CALLING THIS frameworksBaseURL() post super: WOProperties.TheFrameworksBaseURL = /WebObjects/Frameworks frameworksBaseURL() post super: System.getProperty(WOFrameworksBaseURL) = /WebObjects/WeboTest.woa/ Frameworks frameworksBaseURL() post super: super.frameworksBaseURL() = /WebObjects/Frameworks

setFrameworksBaseURL(String string): change from /WebObjects/ Frameworks to /WebObjects/WeboTest.woa/Frameworks frameworksBaseURL() pre super: WOProperties.TheFrameworksBaseURL = /WebObjects/WeboTest.woa/ Frameworks frameworksBaseURL() pre super: System.getProperty(WOFrameworksBaseURL) = /WebObjects/WeboTest.woa/ Frameworks frameworksBaseURL() post super: WOProperties.TheFrameworksBaseURL = /WebObjects/WeboTest.woa/ Frameworks frameworksBaseURL() post super: System.getProperty(WOFrameworksBaseURL) = /WebObjects/WeboTest.woa/ Frameworks frameworksBaseURL() post super: super.frameworksBaseURL() = /WebObjects/WeboTest.woa/ Frameworks

WEBOBJECTS 5.3.3 - NO BUG

[2009-01-11 11:32:02 EST] <main> WOFrameworksBaseURL=/WebObjects/ WeboTest.woa/Frameworks
...
Welcome to WeboTest !
setFrameworksBaseURL(String string): change from null to /WebObjects/ WeboTest.woa/Frameworks frameworksBaseURL() pre super: WOProperties.TheFrameworksBaseURL = /WebObjects/WeboTest.woa/ Frameworks frameworksBaseURL() pre super: System.getProperty(WOFrameworksBaseURL) = /WebObjects/WeboTest.woa/ Frameworks frameworksBaseURL() post super: WOProperties.TheFrameworksBaseURL = /WebObjects/WeboTest.woa/ Frameworks frameworksBaseURL() post super: System.getProperty(WOFrameworksBaseURL) = /WebObjects/WeboTest.woa/ Frameworks frameworksBaseURL() post super: super.frameworksBaseURL() = /WebObjects/WeboTest.woa/ Frameworks

setFrameworksBaseURL(String string): change from /WebObjects/ WeboTest.woa/Frameworks to /WebObjects/WeboTest.woa/Frameworks frameworksBaseURL() pre super: WOProperties.TheFrameworksBaseURL = /WebObjects/WeboTest.woa/ Frameworks frameworksBaseURL() pre super: System.getProperty(WOFrameworksBaseURL) = /WebObjects/WeboTest.woa/ Frameworks frameworksBaseURL() post super: WOProperties.TheFrameworksBaseURL = /WebObjects/WeboTest.woa/ Frameworks frameworksBaseURL() post super: System.getProperty(WOFrameworksBaseURL) = /WebObjects/WeboTest.woa/ Frameworks frameworksBaseURL() post super: super.frameworksBaseURL() = /WebObjects/WeboTest.woa/ Frameworks


Cheers

Tim


 _______________________________________________
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

Reply via email to