• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Weird problem with D2W rules
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Weird problem with D2W rules


  • Subject: Re: Weird problem with D2W rules
  • From: Freddie Tilley <email@hidden>
  • Date: Fri, 29 Mar 2013 22:27:34 +0100


On 29 mrt. 2013, at 22:10, Ramsey Gurley <email@hidden> 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@hidden)
Help/Unsubscribe/Update your Subscription:

This email sent to email@hidden

  • Follow-Ups:
    • Re: Weird problem with D2W rules
      • From: Ramsey Gurley <email@hidden>
References: 
 >Weird problem with D2W rules (From: Freddie Tilley <email@hidden>)
 >Re: Weird problem with D2W rules (From: Ramsey Gurley <email@hidden>)

  • Prev by Date: Re: D2W Rule Question
  • Next by Date: Re: D2W Rule Question
  • Previous by thread: Re: Weird problem with D2W rules
  • Next by thread: Re: Weird problem with D2W rules
  • Index(es):
    • Date
    • Thread