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]
