On 25.06.2013, at 09:37, Theodore Petrosky <[email protected]> wrote:

> You are trying to override the propertyKeys that the context has for  list or 
> edit page?
> 

Yes, that's exactly what I want. 
Background:
On a D2WQueryPage I have one custom query property. The user can create quite a 
complex query based on (almost) random selection of query criteria. I have 
everything working, query does what it should do and finds the correct 
resulting objects. Then these are displayed with a standard D2WListPage. The 
customer wants the displayPropertyKeys to reflect the query criteria. There are 
way too many combinations so I cannot just have a couple of rule based 
ready-made displayPropertyKey arrays. So my  idea was to build the array 
dynamically inside the custom property level component, because that is the 
only place where I know exactly what properties should be in the resulting list 
page. Of course I could create my own custom ListPage and build the list in 
code, but I always think D2W and the computer are being "payed" to work thus 
they should do the work, not me!

Thanks for any help
---markus---


> Ted
> 
> On Jun 25, 2013, at 7:57 AM, Markus Ruggiero <[email protected]> 
> wrote:
> 
>> Folks,
>> 
>> I need to have a dynamically populated displayPropertyKeys for a list page. 
>> I was trying a couple things and eventually got the following tip. 
>> Unfortunately it seems not to work
>> 
>> In Session.java
>> 
>> private NSArray<String> listElectronicDocumentDisplayPropertyKeys;
>> 
>> public void setListElectronicDocumentDisplayPropertyKeys(NSArray<String> 
>> keyArray) {
>>     listElectronicDocumentDisplayPropertyKeys = keyArray
>> }
>> 
>> public NSArray<String> listElectronicDocumentDisplayPropertyKeys() {
>>     return listElectronicDocumentDisplayPropertyKeys;
>> }
>> 
>> 
>> With the following rule:
>> 
>> 100 : pageConfiguration = 'ListElectronicDocument' => displayPropertyKeys = 
>> session.listElectronicDocumentDisplayPropertyKeys  
>> [com.webobjects.directtoweb.DelayedKeyValueAssignment]
>> 
>> All I get is a nice crash :-(
>> 
>> Jun 25 10:21:46 ec_admin[12000] DEBUG NSLog  - ****** fire :    100 : 
>> (pageConfiguration = 'ListElectronicDocument') => displayPropertyKeys = 
>> session.listElectronicDocumentDisplayPropertyKeys 
>> [com.webobjects.directtoweb.DelayedKeyValueAssignment] (100501)
>> Jun 25 10:21:46 ec_admin[12000] WARN  NSLog  - 
>> <er.extensions.appserver.ERXComponentRequestHandler>: Exception occurred 
>> while handling request:
>> java.lang.ClassCastException: java.lang.String cannot be cast to 
>> com.webobjects.foundation.NSArray
>> [2013-6-25 10:21:46 CEST] <WorkerThread12> java.lang.ClassCastException: 
>> java.lang.String cannot be cast to com.webobjects.foundation.NSArray
>>      at 
>> er.directtoweb.pages.ERD2WListPage.sortOrderings(ERD2WListPage.java:432)
>>      at er.directtoweb.pages.ERD2WListPage.setupPhase(ERD2WListPage.java:563)
>>      at 
>> er.directtoweb.pages.ERD2WListPage.appendToResponse(ERD2WListPage.java:498)
>>      at 
>> com.webobjects.appserver.WOSession.appendToResponse(WOSession.java:1385)
>>      at 
>> er.extensions.appserver.ERXSession.appendToResponse(ERXSession.java:571)
>>      at 
>> com.webobjects.appserver.WOApplication.appendToResponse(WOApplication.java:1794)
>>      at 
>> er.extensions.appserver.ERXApplication.appendToResponse(ERXApplication.java:2005)
>>      at 
>> er.extensions.appserver.ERXComponentRequestHandler._dispatchWithPreparedPage(ERXComponentRequestHandler.java:190)
>>      at 
>> er.extensions.appserver.ERXComponentRequestHandler._dispatchWithPreparedSession(ERXComponentRequestHandler.java:235)
>>      at 
>> er.extensions.appserver.ERXComponentRequestHandler._dispatchWithPreparedApplication(ERXComponentRequestHandler.java:268)
>>      at 
>> er.extensions.appserver.ERXComponentRequestHandler._handleRequest(ERXComponentRequestHandler.java:302)
>>      at 
>> er.extensions.appserver.ERXComponentRequestHandler.handleRequest(ERXComponentRequestHandler.java:375)
>>      at 
>> com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1687)
>>      at 
>> er.extensions.appserver.ERXApplication.dispatchRequestImmediately(ERXApplication.java:2109)
>>      at 
>> er.extensions.appserver.ERXApplication.dispatchRequest(ERXApplication.java:2074)
>>      at com.dsm.ec_admin.Application.dispatchRequest(Application.java:271)
>>      at 
>> com.webobjects.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:144)
>>      at 
>> com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:226)
>>      at java.lang.Thread.run(Thread.java:680)
>> 
>> I can sort of understand what is going on: D2W thinks that 
>> session.listElectronicDocumentDisplayPropertyKeys is a string instead of 
>> evaluating it. But isn't the rule system supposed to recursively resolve 
>> this?
>> 
>> Any other idea? Or would I have to meddle with ER2DWListPage.java?
>> 
>> Thanks for any quick answer
>> 
>> ---markus---
>> 
>> 
>> 
>> 
>> Markus Ruggiero
>> [email protected]
>> Check out the new book about Project Wonder and WebObjects on 
>> http://learningthewonders.com/
>> 
>> 
>> 
>> 
>> 
>> 
>> _______________________________________________
>> Do not post admin requests to the list. They will be ignored.
>> Webobjects-dev mailing list      ([email protected])
>> Help/Unsubscribe/Update your Subscription:
>> https://lists.apple.com/mailman/options/webobjects-dev/tedpet5%40yahoo.com
>> 
>> This email sent to [email protected]
> 

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to