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]

Reply via email to