On Jan 24, 2013, at 2:15 AM, Jean Pierre Malrieu wrote:

Maybe my previous wonder version was older than I thought (cannot tell until I go back to my time machine backup).
But I did upgrade and get the same error (see stack trace below).

It must be old. setValueForBinding is currently on 189 not 190.

I am not the only one facing this sort of problem I am afraid (I can see two messages by other users in my mailbox mentioning this masterObjectAndRelationshipKey pb).

Users are having the same line 190 in the stack trace? Are you building with frameworks embedded? Using jenkins and latest wonder from git?  Or just building from your workspace?

I agree that I should use source. I am just afraid of a cluttered workspace (I already have to many projects). Is it possible to organize the project navigation view so that one does not see all Wonder frameworks there (a filter?).

Yes. Create working sets. You can do that using the downward pointing arrow at the top of your WOExplorer tab in eclipse. I have separate working sets for Wonder Frameworks, Examples, Applications, and working sets for different projects.  The project working sets typically have the wonder frameworks I use most often in them because it's easier than switching back and forth between sets.

Another question: when you import wonder source, you set wonder frameworks as dependent frameworks or you still rely on the built version of the frameworks?

When you run or debug in your workspace, it uses the source in your workspace. When you build for deployment, eclipse uses built binary frameworks depending on which checkboxes you have checked in Right Click on Project -> Properties -> WOLipsDeployment.  

If you have old frameworks floating around in .../Frameworks/ somewhere and you use eclipse to build your apps for deployment, then you will still get the old busted stuff in your deployment builds. You also get local, uncommitted changes in your app source, which sucks too. 

You really want to use jenkins or some other build server to build clean from checked in source each time. Jenkins can be a pain in the butt to set up the first time, but it's definitely worth the effort. Personally, I would not deploy anything without a build server. The build server not only gives consistent builds, but it also records what went into the build for me and lets me know when builds were deployed. When the boss comes to you and complains about something broken, which she just *knows* is related to that new feature you've been working on… you can say "Sorry, but that app hasn't been redeployed since Dec 12 2012 at 12:12 pm. That build does not contain changes checked in last week. It must be the bad data you entered last night." 

:-)


JPM

The stack trace for a pretty current version of Wonder:

UnknownKeyException: [<er.directtoweb.embed.ERXD2WEditRelationship name: er.directtoweb.embed.ERXD2WEditRelationship subcomponents: {0.3.5.1.2.3.0.1.0.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.9.0.0.0.1.0.1.2.3.1.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0 = <er.directtoweb.components.ERD2WSwitchComponent name: er.directtoweb.components.ERD2WSwitchComponent subcomponents: {0.3.5.1.2.3.0.1.0.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.9.0.0.0.1.0.1.2.3.1.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0 = <er.modern.look.pages.ERMODEditRelationshipPage name: er.modern.look.pages.ERMODEditRelationshipPage subcomponents: {0.3.5.1.2.3.0.1.0.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.9.0.0.0.1.0.1.2.3.1.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.3.1.3.1.0 = <er.modern.directtoweb.components.repetitions.ERMDReducedListPageRepetition name: er.modern.directtoweb.components.repetitions.ERMDReducedListPageRepetition subcomponents: {0.3.5.1.2.3.0.1.0.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.9.0.0.0.1.0.1.2.3.1.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.3.1.3.1.0.1.0.1.5.1.0.1.0 = <er.modern.directtoweb.components.buttons.ERMDInspectButton name: er.modern.directtoweb.components.buttons.ERMDInspectButton subcomponents: {0.3.5.1.2.3.0.1.0.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.9.0.0.0.1.0.1.2.3.1.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.3.1.3.1.0.1.0.1.5.1.0.1.0.0 = <er.coolcomponents.CCSmartAjaxButton name: er.coolcomponents.CCSmartAjaxButton subcomponents: null >; } >; 0.3.5.1.2.3.0.1.0.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.9.0.0.0.1.0.1.2.3.1.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.3.1.3.1.0.1.0.1.5.1.1.1.1 = <er.modern.directtoweb.components.buttons.ERMDEditButton name: er.modern.directtoweb.components.buttons.ERMDEditButton subcomponents: {0.3.5.1.2.3.0.1.0.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.9.0.0.0.1.0.1.2.3.1.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.3.1.3.1.0.1.0.1.5.1.1.1.1.1 = <er.coolcomponents.CCSmartAjaxButton name: er.coolcomponents.CCSmartAjaxButton subcomponents: null >; } >; 0.3.5.1.2.3.0.1.0.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.9.0.0.0.1.0.1.2.3.1.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.3.1.3.1.0.1.0.1.5.1.2.1.2 = <er.modern.directtoweb.components.buttons.ERMDRemoveRelatedButton name: er.modern.directtoweb.components.buttons.ERMDRemoveRelatedButton subcomponents: null >; } >; 0.3.5.1.2.3.0.1.0.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.9.0.0.0.1.0.1.2.3.1.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.1 = <er.directtoweb.components.ERD2WExtraDisplayPropertyKeysComponent name: er.directtoweb.components.ERD2WExtraDisplayPropertyKeysComponent subcomponents: null >; 0.3.5.1.2.3.0.1.0.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.9.0.0.0.1.0.1.2.3.1.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.3.5.1.3.1 = <er.coolcomponents.CCSmartAjaxButton name: er.coolcomponents.CCSmartAjaxButton subcomponents: null >; 0.3.5.1.2.3.0.1.0.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.9.0.0.0.1.0.1.2.3.1.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.3.5.1.5.1 = <er.coolcomponents.CCSmartAjaxButton name: er.coolcomponents.CCSmartAjaxButton subcomponents: null >; 0.3.5.1.2.3.0.1.0.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.9.0.0.0.1.0.1.2.3.1.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1 = <er.modern.look.components.ERMODRequiredWrapper name: er.modern.look.components.ERMODRequiredWrapper subcomponents: {0.3.5.1.2.3.0.1.0.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.9.0.0.0.1.0.1.2.3.1.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.0 = <er.directtoweb.components.ERDDebuggingHelp name: er.directtoweb.components.ERDDebuggingHelp subcomponents: null >; } >; 0.3.5.1.2.3.0.1.0.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.9.0.0.0.1.0.1.2.3.1.0.3.3.3.0.1.0.1.3.0.1.3.1.0.0.0.0.0.1.2.3.1.0.3.11 = <er.directtoweb.components.ERD2WExtraDisplayPropertyKeysComponent name: er.directtoweb.components.ERD2WExtraDisplayPropertyKeysComponent subcomponents: null >; } >; } >; } > takeValueForKey()]: attempt to assign value to unknown key: 'masterObjectAndRelationshipKey'.
This WOComponent does not have an instance variable of the name masterObjectAndRelationshipKey or _masterObjectAndRelationshipKey, nor a method of the name setMasterObjectAndRelationshipKey or _setMasterObjectAndRelationshipKey
  at com.webobjects.appserver.WOComponent.handleTakeValueForUnboundKey(WOComponent.java:1781)
     ... skipped 8 stack elements
  at com.webobjects.appserver.WOComponent.setValueForBinding(WOComponent.java:910)
  at er.directtoweb.components.ERD2WSwitchComponent.setExtraBindings(ERD2WSwitchComponent.java:190)
     ... skipped 11 stack elements
  at com.webobjects.appserver.WOComponent._doPushValuesUp(WOComponent.java:558)
  at com.webobjects.appserver.WOComponent.pushValuesToParent(WOComponent.java:535)
     ... skipped 101 stack elements
  at er.ajax.AjaxUpdateContainer.handleRequest(AjaxUpdateContainer.java:266)
     ... skipped 105 stack elements
  at er.ajax.AjaxResponse.generateResponse(AjaxResponse.java:67)
     ... skipped 5 stack elements
  at er.ajax.AjaxRequestHandler.handleRequest(AjaxRequestHandler.java:20)
  ... skipped 6 stack elements




Le 23 janv. 2013 à 18:14, Ramsey Gurley a écrit :

Are you sure you don't have some old wonder frameworks hiding in ~/Library/Frameworks or something? That call hasn't been on line 189 since about 9 months ago unless I'm reading the git history incorrectly.

Also, use the source :-) Binaries make life more difficult. Source is easier to keep up to date and debug.

Ramsey

On Jan 23, 2013, at 9:49 AM, Jean Pierre Malrieu wrote:


Le 23 janv. 2013 à 00:02, Ramsey Gurley a écrit :

On Jan 22, 2013, at 3:09 PM, Jean Pierre Malrieu wrote:

attempt to assign value to unknown key: 'masterObjectAndRelationshipKey'.
This WOComponent does not have an instance variable of the name masterObjectAndRelationshipKey or _masterObjectAndRelationshipKey, nor a method of the name setMasterObjectAndRelationshipKey or _setMasterObjectAndRelationshipKey
  at com.webobjects.appserver.WOComponent.handleTakeValueForUnboundKey(WOComponent.java:1781)
     ... skipped 8 stack elements
  at com.webobjects.appserver.WOComponent.setValueForBinding(WOComponent.java:910)
  at er.directtoweb.components.ERD2WSwitchComponent.setExtraBindings(ERD2WSwitchComponent.java:189)

How old is your Wonder? I see setValueForBinding called on line 190 after explicitly checking hasBinding(key) on 189.

Ramsey

My version of Wonder was three month old. I updated with Wonder binaries that are 8 days old (January 14th), and I get the same behavior...

JPM





------------------------------------------------------------------------------
Master Visual Studio, SharePoint, SQL, ASP.NET, C# 2012, HTML5, CSS,
MVC, Windows 8 Apps, JavaScript and much more. Keep your skills current
with LearnDevNow - 3,200 step-by-step video tutorials by Microsoft
MVPs and experts. ON SALE this month only -- learn more at:
http://p.sf.net/sfu/learnnow-d2d_______________________________________________
Wonder-disc mailing list
Wonder-disc@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wonder-disc