On 29 mrt. 2013, at 22:10, Ramsey Gurley <[email protected]> wrote:
>
> On Mar 29, 2013, at 12:40 PM, Freddie Tilley wrote:
>
>> Hi,
>>
>> I'm having a strange issue with a D2w rule.
>>
>> the left hand side is as follows:
>>
>> (task = 'edit' and entity.name = 'AMEvent' and object.eventType = '1') with
>> a right hand side key of displayPropertyKeys
>
>
> I just added object.pickles = '2' to one of my displayPropertyKey rules with
> no ill effects. The rule failed to fire as expected.
>
>
>> The thing is is that the object.eventType will get called on objects that
>> aren't even AMEvent objects, which will then call the
>> handleQueryWithUnboundKey of the enterprise object.
>
>
> This is expected behavior. The rule cache is built using all the values from
> the LHS. There is no short circuiting like there is in an 'if' statement.
> There's a catch for UnknownKeyException in
> ERD2WUtilities.contextValueForKeyNoInferenceNoException.
>
>
>> Even when deleting an object in a list view it throws a
>> java.lang.NullPointerException in EOUtilities.java when
>> handleQueryWithUnboundKey is called on the deleted object.
>
>
> What is your stack trace? What does deleting an object have to do with the
> displayPropertyKeys rule?
The object is being deleted from the list view, which also has a
displayPropertyKeys rule.
at com.webobjects.eoaccess.EOUtilities.primaryKeyForObject(EOUtilities.java:880)
at
er.extensions.eof.ERXGenericRecord.handleQueryWithUnboundKey(ERXGenericRecord.java:1067)
at
com.amboss.eocontrol.AMGenericRecord.handleQueryWithUnboundKey(AMGenericRecord.java:101)
at
com.webobjects.foundation.NSKeyValueCoding$Utility.handleQueryWithUnboundKey(NSKeyValueCoding.java:494)
at
com.webobjects.foundation.NSKeyValueCoding$_KeyBinding.valueInObject(NSKeyValueCoding.java:894)
at
com.webobjects.eocontrol.EOCustomObject.valueForKey(EOCustomObject.java:1498)
at
com.webobjects.foundation.NSKeyValueCoding$Utility.valueForKey(NSKeyValueCoding.java:447)
at
com.webobjects.directtoweb.ERD2WUtilities.contextValueForKeyNoInferenceNoException(ERD2WUtilities.java:56)
at
er.directtoweb.ERD2WModel.fireRuleForKeyPathInContext(ERD2WModel.java:296)
at
er.directtoweb.ERD2WModel.fireRuleForKeyPathInContext(ERD2WModel.java:277)
at
com.webobjects.directtoweb.D2WContext.inferValueForKey(D2WContext.java:292)
at
com.webobjects.directtoweb.D2WContext.valueForKey(D2WContext.java:180)
at
er.directtoweb.components.ERDCustomComponent.d2wContextValueForBinding(ERDCustomComponent.java:233)
at
er.directtoweb.components.ERDCustomComponent.valueForBinding(ERDCustomComponent.java:265)
at
er.directtoweb.components.ERDCustomComponent.hasBinding(ERDCustomComponent.java:187)
at
er.extensions.components.ERXComponent.objectValueForBinding(ERXComponent.java:410)
at
er.extensions.components.ERXComponent.stringValueForBinding(ERXComponent.java:469)
at
er.extensions.components.ERXComponent.stringValueForBinding(ERXComponent.java:443)
at
er.modern.directtoweb.components.header.ERMD2WSimpleHeader.headerString(ERMD2WSimpleHeader.java:25)
at
er.modern.directtoweb.components.header.ERMD2WHeader.showHeading(ERMD2WHeader.java:41)
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:597)
at
com.webobjects.foundation.NSKeyValueCoding$ValueAccessor$1.methodValue(NSKeyValueCoding.java:636)
at
com.webobjects.foundation.NSKeyValueCoding$_MethodBinding.valueInObject(NSKeyValueCoding.java:1134)
at
com.webobjects.foundation.NSKeyValueCoding$DefaultImplementation.valueForKey(NSKeyValueCoding.java:1324)
at
com.webobjects.appserver.WOComponent.valueForKey(WOComponent.java:1736)
at
com.webobjects.foundation.NSKeyValueCoding$Utility.valueForKey(NSKeyValueCoding.java:447)
at
com.webobjects.foundation.NSKeyValueCodingAdditions$DefaultImplementation.valueForKeyPath(NSKeyValueCodingAdditions.java:212)
at
com.webobjects.appserver.WOComponent.valueForKeyPath(WOComponent.java:1804)
at
com.webobjects.appserver._private.WOKeyValueAssociation.valueInComponent(WOKeyValueAssociation.java:50)
at
com.webobjects.appserver.WOAssociation.booleanValueInComponent(WOAssociation.java:276)
at
com.webobjects.appserver._private.WOConditional.evaluateCondition(WOConditional.java:60)
at
com.webobjects.appserver._private.WOConditional.appendToResponse(WOConditional.java:93)
at
com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at
com.webobjects.appserver._private.WODynamicGroup.appendToResponse(WODynamicGroup.java:136)
at
com.webobjects.appserver.WOComponent.appendToResponse(WOComponent.java:1122)
at
er.extensions.components.ERXComponent.appendToResponse(ERXComponent.java:195)
at
er.extensions.components.ERXNonSynchronizingComponent.appendToResponse(ERXNonSynchronizingComponent.java:79)
at
er.directtoweb.components.ERDCustomComponent.appendToResponse(ERDCustomComponent.java:395)
at
com.webobjects.appserver._private.WOComponentReference.appendToResponse(WOComponentReference.java:135)
at
er.extensions.components._private.ERXSwitchComponent.appendToResponse(ERXSwitchComponent.java:136)
at
com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at
com.webobjects.appserver._private.WOGenericContainer.appendToResponse(WOGenericContainer.java:44)
at
com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at
com.webobjects.appserver._private.WOConditional.appendToResponse(WOConditional.java:94)
at
com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at
com.webobjects.appserver._private.WODynamicGroup.appendToResponse(WODynamicGroup.java:136)
at
com.webobjects.appserver._private.WOComponentContent.appendToResponse(WOComponentContent.java:51)
at
com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at
er.extensions.components._private.ERXWOForm.appendChildrenToResponse(ERXWOForm.java:263)
at
er.extensions.components._private.ERXWOForm.appendToResponse(ERXWOForm.java:433)
at
com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at
er.extensions.components.conditionals.ERXWOConditional.appendChildrenToResponse(ERXWOConditional.java:132)
at
er.extensions.components.conditionals.ERXWOConditional.appendToResponse(ERXWOConditional.java:125)
at
com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at
com.webobjects.appserver._private.WOConditional.appendToResponse(WOConditional.java:94)
at
com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at
com.webobjects.appserver._private.WODynamicGroup.appendToResponse(WODynamicGroup.java:136)
at
com.webobjects.appserver.WOComponent.appendToResponse(WOComponent.java:1122)
at
er.extensions.components.ERXComponent.appendToResponse(ERXComponent.java:195)
at
er.extensions.components.ERXNonSynchronizingComponent.appendToResponse(ERXNonSynchronizingComponent.java:79)
at
com.webobjects.appserver._private.WOComponentReference.appendToResponse(WOComponentReference.java:135)
at
com.webobjects.appserver._private.WODynamicGroup.appendChildrenToResponse(WODynamicGroup.java:126)
at
er.ajax.AjaxUpdateContainer.handleRequest(AjaxUpdateContainer.java:268)
at er.ajax.AjaxDynamicElement.invokeAction(AjaxDynamicElement.java:40)
at er.ajax.AjaxUpdateContainer.invokeAction(AjaxUpdateContainer.java:83)
at
com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105)
at
com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115)
at
com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:1079)
at
er.extensions.components.ERXComponent.invokeAction(ERXComponent.java:168)
at
com.webobjects.appserver._private.WOComponentReference.invokeAction(WOComponentReference.java:127)
at
com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105)
at
com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115)
at
com.webobjects.appserver._private.WOComponentContent.invokeAction(WOComponentContent.java:38)
at
com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105)
at
com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115)
at
com.webobjects.appserver._private.WOHTMLURLValuedElement.invokeAction(WOHTMLURLValuedElement.java:149)
at
com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105)
at
com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115)
at
com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105)
at
com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115)
at
com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:1079)
at
er.extensions.components.ERXComponent.invokeAction(ERXComponent.java:168)
at
com.webobjects.appserver._private.WOComponentReference.invokeAction(WOComponentReference.java:127)
at
er.extensions.components._private.ERXSwitchComponent.invokeAction(ERXSwitchComponent.java:120)
at
com.webobjects.appserver.WOComponent.invokeAction(WOComponent.java:1079)
at er.directtoweb.pages.ERD2WPage.invokeAction(ERD2WPage.java:747)
at
er.directtoweb.pages.ERD2WListPage.invokeAction(ERD2WListPage.java:493)
at com.webobjects.appserver.WOSession.invokeAction(WOSession.java:1357)
at
com.webobjects.appserver.WOApplication.invokeAction(WOApplication.java:1745)
at
er.extensions.appserver.ajax.ERXAjaxApplication.invokeAction(ERXAjaxApplication.java:119)
at
er.extensions.appserver.ERXApplication.invokeAction(ERXApplication.java:1988)
at er.ajax.AjaxResponse.generateResponse(AjaxResponse.java:67)
at
com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedPage(WOComponentRequestHandler.java:229)
at
com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedSession(WOComponentRequestHandler.java:298)
at
com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedApplication(WOComponentRequestHandler.java:332)
at
com.webobjects.appserver._private.WOComponentRequestHandler._handleRequest(WOComponentRequestHandler.java:369)
at
com.webobjects.appserver._private.WOComponentRequestHandler.handleRequest(WOComponentRequestHandler.java:442)
at er.ajax.AjaxRequestHandler.handleRequest(AjaxRequestHandler.java:20)
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.amboss.application.app.Application.dispatchRequest(Application.java:132)
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)
_______________________________________________
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]