I just had a debugging session with a customer. He complained that 
"CreateProduct" page conf did not list the correct displayPropertyKeys. And 
indeed they are wrong. But why?

Rule I want to work (list of properties truncated to anonymize the customer):

100 : (pageConfiguration = 'CreateProduct' and region = 'europe') => 
displayPropertyKeys = ("productCode", .... ) 
[com.webobjects.directtoweb.Assignment]    (list of properties I want)

Rule that actually fires

100 : pageConfiguration = 'CreateProduct' => displayPropertyKeys = 
("productCode", ....) [com.webobjects.directtoweb.Assignment]   (fallback rule 
with different list of properties

That can be when region is not properly defined, BUT it is.

Opening D2W debug output in the resulting browser shows at the very top when 
hovering over the "?" the list from the second, less qualified rule
When entering "displayPropertyKeys into the little debug textfield I do get the 
expected list of properties (the one for 'europe').

When manually asking for the displayPropertyKeys the first rule fires (which is 
what I expect) but the D2W template resolves via the second rule. Even reducing 
the priority of that rule to e.g. 80 does not give prio to the more qualified 
first rule. D2WTraceRuleFiringEnabled shows what is displayed in the app.

Other pageConfigurations like EditProduct have similar rules but there the rule 
with "region" is firing - as it should.

I inject the region code into d2wContext in the PageWrapper.awake() with the 
fillowing code lines:

    public void awake() {
        super.awake();
        D2WContext ctx = d2wContext();
        if (ctx != null) {
        Application application = (Application)Application.application();
            ctx.takeValueForKey( application.region().code(), "region" );
        }
    }

    public D2WContext d2wContext() {
        if (context().page() instanceof D2WPage) {
            D2WPage d2wPage = (D2WPage) context().page();
            return d2wPage.d2wContext();
        }
        return null;
    }

Any idea why this happens? Could this be a timing issue?

---markus---
 _______________________________________________
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:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to