Christoph:

As a matter of practice, I usually don’t sync my components - stateless or not. 
There are some exceptions where the convenience of syncing overrides the norm.

Tim Worman
UCLA

> On Nov 13, 2014, at 1:26 PM, Christoph Wick <[email protected]> wrote:
> 
> Hi Chuck, 
> 
> thanks for the information.
> 
> Does it make sense to have a non-stateless non-synchronizing component?
> 
> My rule-of-thumb has always been stateless+non-synchronizing or 
> non-stateless-synchronizing. But it seems to be a 2x2 matrix.
> 
> C.U.CW
> -- 
> The three great virtues of a programmer are Laziness, Impatience and Hubris. 
> (Randal Schwartz)
> 
> On 13.11.2014, at 21:27, Chuck Hill <[email protected]> wrote:
> 
>> This is part of binding synchronization:
>> at com.webobjects.appserver.WOComponent._doPushValuesUp(WOComponent.java:558)
>> at 
>> com.webobjects.appserver.WOComponent.pushValuesToParent(WOComponent.java:535)
>> 
>> You can either implement the setter or turn off automatic synchronization.
>> 
>> Chuck
>> 
>> 
>> 
>> On 2014-11-13, 12:16 PM, "CHRISTOPH WICK | i4innovation GmbH, Bonn" wrote:
>> 
>> I have a strange problem:
>> 
>> in a component I use a wo:if:
>> 
>> <wo:if condition = 
>> "$ses.programmeManager.providerCanChangeStatusToSUBMITTED">
>> ...
>> </wo:if>
>> 
>> Its 'condition' property is bound to a method that calculates true or false.
>> There is no corresponding setter method like 
>> 'setProviderCanChangeStatusToSUBMITTED(boolean b)' because it's not 
>> necessary to store such a value.
>> 
>> Nevertheless my app crashes complaining that there is no corresponding 
>> setter method (Stacktrace below).
>> 
>> For testing I implemented an empty setter method:
>> 
>>  public void setProviderCanChangeStatusToSUBMITTED(boolean b) {}
>> 
>> and then everything works fine.
>> 
>> Any ideas why WO is trying to call this setter method?
>> 
>> 
>> Stacktrace is:
>> 
>> Nov 13 20:44:58 EBACMgmt[44444] WARN  NSLog  - 
>> <er.extensions.appserver.ERXComponentRequestHandler>: Exception occurred 
>> while handling request:
>> <com.webobjects.foundation.NSKeyValueCoding$UnknownKeyException message 
>> '<de.i4innovation.ebacmgmt.eo.managers.EMEventManager 0x6abafc4c> 
>> takeValueForKey(): attempt to assign value to unknown key: 
>> 'providerCanChangeStatusToSUBMITTED'.
>> This class does not have an instance variable of the name 
>> providerCanChangeStatusToSUBMITTED or _providerCanChangeStatusToSUBMITTED, 
>> nor a method of the name setProviderCanChangeStatusToSUBMITTED or 
>> _setProviderCanChangeStatusToSUBMITTED' object 
>> 'de.i4innovation.ebacmgmt.eo.managers.EMEventManager@6abafc4c' key 
>> 'providerCanChangeStatusToSUBMITTED'>
>> [2014-11-13 20:44:58 MEZ] <WorkerThread0> 
>> <com.webobjects.foundation.NSKeyValueCoding$UnknownKeyException message 
>> '<de.i4innovation.ebacmgmt.eo.managers.EMEventManager 0x6abafc4c> 
>> takeValueForKey(): attempt to assign value to unknown key: 
>> 'providerCanChangeStatusToSUBMITTED'.
>> This class does not have an instance variable of the name 
>> providerCanChangeStatusToSUBMITTED or _providerCanChangeStatusToSUBMITTED, 
>> nor a method of the name setProviderCanChangeStatusToSUBMITTED or 
>> _setProviderCanChangeStatusToSUBMITTED' object 
>> 'de.i4innovation.ebacmgmt.eo.managers.EMEventManager@6abafc4c' key 
>> 'providerCanChangeStatusToSUBMITTED'>
>> at 
>> com.webobjects.foundation.NSKeyValueCoding$DefaultImplementation.handleTakeValueForUnboundKey(NSKeyValueCoding.java:1399)
>> at 
>> com.webobjects.foundation.NSKeyValueCoding$Utility.handleTakeValueForUnboundKey(NSKeyValueCoding.java:521)
>> at 
>> com.webobjects.foundation.NSKeyValueCoding$_KeyBinding.setValueInObject(NSKeyValueCoding.java:899)
>> at 
>> com.webobjects.foundation.NSKeyValueCoding$DefaultImplementation.takeValueForKey(NSKeyValueCoding.java:1354)
>> at 
>> com.webobjects.foundation.NSKeyValueCoding$Utility.takeValueForKey(NSKeyValueCoding.java:471)
>> at 
>> com.webobjects.foundation.NSValidation$DefaultImplementation.validateTakeValueForKeyPath(NSValidation.java:679)
>> at 
>> com.webobjects.foundation.NSValidation$Utility.validateTakeValueForKeyPath(NSValidation.java:504)
>> at 
>> com.webobjects.foundation.NSValidation$DefaultImplementation.validateTakeValueForKeyPath(NSValidation.java:687)
>> at 
>> com.webobjects.foundation.NSValidation$Utility.validateTakeValueForKeyPath(NSValidation.java:504)
>> at 
>> com.webobjects.foundation.NSValidation$DefaultImplementation.validateTakeValueForKeyPath(NSValidation.java:687)
>> at 
>> com.webobjects.appserver.WOComponent.validateTakeValueForKeyPath(WOComponent.java:1424)
>> at 
>> com.webobjects.appserver._private.WOKeyValueAssociation.setValue(WOKeyValueAssociation.java:76)
>> at 
>> ognl.helperfunction.WOHelperFunctionKeyValueAssociation.setValue(WOHelperFunctionKeyValueAssociation.java:21)
>> at com.webobjects.appserver.WOComponent._doPushValuesUp(WOComponent.java:558)
>> at 
>> com.webobjects.appserver.WOComponent.pushValuesToParent(WOComponent.java:535)
>> at 
>> com.webobjects.appserver._private.WOComponentReference._popComponentFromContext(WOComponentReference.java:109)
>> at 
>> com.webobjects.appserver._private.WOComponentReference.invokeAction(WOComponentReference.java:128)
>> at 
>> com.webobjects.appserver._private.WODynamicGroup.invokeChildrenAction(WODynamicGroup.java:105)
>> at 
>> com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115)
>> at 
>> er.extensions.components._private.ERXWOForm.invokeAction(ERXWOForm.java:218)
>> 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 
>> er.extensions.components.conditionals.ERXWOConditional.invokeChildrenAction(ERXWOConditional.java:116)
>> at 
>> com.webobjects.appserver._private.WODynamicGroup.invokeAction(WODynamicGroup.java:115)
>> at 
>> er.extensions.components.conditionals.ERXWOConditional.invokeAction(ERXWOConditional.java:108)
>> 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.WOComponent.invokeAction(WOComponent.java:1079)
>> at er.extensions.components.ERXComponent.invokeAction(ERXComponent.java:168)
>> 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:1991)
>> at 
>> er.extensions.appserver.ERXComponentRequestHandler._dispatchWithPreparedPage(ERXComponentRequestHandler.java:157)
>> 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:378)
>> at 
>> com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1687)
>> at 
>> er.extensions.appserver.ERXApplication.dispatchRequestImmediately(ERXApplication.java:2112)
>> at 
>> er.extensions.appserver.ERXApplication.dispatchRequest(ERXApplication.java:2077)
>> 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:722)
>> 
>> 
>> C.U.CW
>> --
>> The three great virtues of a programmer are Laziness, Impatience and Hubris. 
>> (Randal Schwartz)
>> 
>> 
> 
> _______________________________________________
> 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/lists%40thetimmy.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