Hi guys,

On 14-Jan-09, at 9:47 AM, Chuck Hill wrote:

Hi Mai,


On Jan 13, 2009, at 7:34 PM, MAI NGUYEN wrote:

Hello Chuck:
Mark the id attribute as Allows Null and then make the relationship optional.
If the attribute is a primary key attribute and of a numeric type (ex. integer type), then you cannot set it to allow null.
I got the same error as David.

Mike is working on a fix in Entity Modeler, I believe.

Perhaps I don't understand how you are modeling this. A PK to PK relationship can't be optional. A PK to FK relationship can be optional, but is a properly a to-many relationship.

I messed up in various ways in looking at this problem. The first was that it was one of my very first models using EOModeler, so I had the relationship running backwards. How this worked correctly in the past, I really don't know. The second way that I messed up was that my Eclipse build was picking up changes in the /Library/Frameworks directory, not in my project. This led to me trying all sorts of modeling behaviour in the framework project I was linked to that wasn't showing up when I ran it. When I finally discovered that this was happening...


How are you modeling this?

... I had already deleted the relationship entirely.

David



Chuck


On Jan 13, 2009, at 6:57 PM, Chuck Hill wrote:


On Jan 6, 2009, at 3:31 PM, David Holt wrote:

An application that I have converted from XCode to Eclipse is throwing an error when I save a new document EO. I went back in and looked at the old version of the model in the XCode app and the relationship is marked as to-one optional. The entity modeler version is mandatory to-one and if I try to set it back to optional, it gives me a warning: "The relationship documentContent is optional but the attribute id does not allow nulls". What do I need to do to model this correctly and/or get rid of the error on save?

Mark the id attribute as Allows Null and then make the relationship optional.


Chuck



David



Jan 06 08:54:33 CARRFS_P2P[49429] (ERXNSLogLog4jBridge.java:43) WARN NSLog - <com.webobjects.appserver._private.WOComponentRequestHandler>: Exception occurred while handling request: <er.extensions.validation.ERXValidationException object: <ca.cscw.carrfs_p2pmodel.Document pk:"null">; propertyKey: documentContent; type: MandatoryToOneRelationshipException; additionalExceptions: ()> [2009-01-06 08:54:33 PST] <WorkerThread1> <er.extensions.validation.ERXValidationException object: <ca.cscw.carrfs_p2pmodel.Document pk:"null">; propertyKey: documentContent; type: MandatoryToOneRelationshipException; additionalExceptions: ()> at com.webobjects.eoaccess.EORelationship.validateValue (EORelationship.java:1805) at com.webobjects.eoaccess.EOEntityClassDescription.validateValueForKe y(EOEntityClassDescription.java:443) at er.extensions.eof.ERXEntityClassDescription.validateValueForKey (ERXEntityClassDescription.java:807) at com.webobjects.eocontrol.EOCustomObject.validateValueForKey (EOCustomObject.java:1339) at er.extensions.eof.ERXGenericRecord.validateValueForKey (ERXGenericRecord.java:1079) at com.webobjects.eocontrol.EOCustomObject.validateForSave (EOCustomObject.java:1411) at er.extensions.eof.ERXGenericRecord.validateForSave (ERXGenericRecord.java:1125) at com.webobjects.eocontrol.EOCustomObject.validateForInsert (EOCustomObject.java:1473) at er.extensions.eof.ERXGenericRecord.validateForInsert (ERXGenericRecord.java:1148) at com.webobjects.eocontrol.EOEditingContext.validateTable (EOEditingContext.java:2249) at com.webobjects.eocontrol.EOEditingContext.validateChangesForSave (EOEditingContext.java:3029) at com.webobjects.eocontrol.EOEditingContext._prepareForPushChanges (EOEditingContext.java:3283) at com.webobjects.eocontrol.EOEditingContext.saveChanges (EOEditingContext.java:3213)
        at er.extensions.eof.ERXEC._saveChanges(ERXEC.java:981)
        at er.extensions.eof.ERXEC.saveChanges(ERXEC.java:903)
at ca.cscw.carrfs_p2p.AttachMeetingDocument.toAttachMeetingDocument (AttachMeetingDocument.java:130)
        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:585)
at com.webobjects.foundation.NSKeyValueCoding$ValueAccessor $1.methodValue(NSKeyValueCoding.java:684) at com.webobjects.foundation.NSKeyValueCoding $_MethodBinding.valueInObject(NSKeyValueCoding.java:1160) at com.webobjects.foundation.NSKeyValueCoding $DefaultImplementation.valueForKey(NSKeyValueCoding.java:1268) at com.webobjects.appserver.WOComponent.valueForKey (WOComponent.java:1539) at com.webobjects.foundation.NSKeyValueCoding $Utility.valueForKey(NSKeyValueCoding.java:498) at com.webobjects.foundation.NSKeyValueCodingAdditions $DefaultImplementation.valueForKeyPath (NSKeyValueCodingAdditions.java:212) at com.webobjects.appserver.WOComponent.valueForKeyPath (WOComponent.java:1600) at com.webobjects.appserver._private.WOKeyValueAssociation.valueInComp onent(WOKeyValueAssociation.java:46) at com.webobjects.appserver.WOComponent.valueForBinding (WOComponent.java:735) at com.uploadsuite.NBUploadWithProgress.finalAction (NBUploadWithProgress.java:156)
        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:585)
at com.webobjects.foundation.NSKeyValueCoding$ValueAccessor $1.methodValue(NSKeyValueCoding.java:684) at com.webobjects.foundation.NSKeyValueCoding $_MethodBinding.valueInObject(NSKeyValueCoding.java:1160) at com.webobjects.foundation.NSKeyValueCoding $DefaultImplementation.valueForKey(NSKeyValueCoding.java:1268) at com.webobjects.appserver.WOComponent.valueForKey (WOComponent.java:1539) at com.webobjects.foundation.NSKeyValueCoding $Utility.valueForKey(NSKeyValueCoding.java:498) at com.webobjects.foundation.NSKeyValueCodingAdditions $DefaultImplementation.valueForKeyPath (NSKeyValueCodingAdditions.java:212) at com.webobjects.appserver.WOComponent.valueForKeyPath (WOComponent.java:1600) at com.webobjects.appserver._private.WOKeyValueAssociation.valueInComp onent(WOKeyValueAssociation.java:46) at com.webobjects.appserver._private.WOGenericElement.invokeAction (WOGenericElement.java:101) at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenActi on(WODynamicGroup.java:101) at com.webobjects.appserver._private.WODynamicGroup.invokeAction (WODynamicGroup.java:110) at er.extensions.components._private.ERXWOForm.invokeAction (ERXWOForm.java:180) at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenActi on(WODynamicGroup.java:101) at com.webobjects.appserver._private.WODynamicGroup.invokeAction (WODynamicGroup.java:110) at com.webobjects.appserver.WOComponent.invokeAction (WOComponent.java:945) at com.webobjects.appserver._private.WOComponentReference.invokeAction (WOComponentReference.java:104) at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenActi on(WODynamicGroup.java:101) at com.webobjects.appserver._private.WODynamicGroup.invokeAction (WODynamicGroup.java:110) at com.webobjects.appserver._private.WOComponentContent.invokeAction (WOComponentContent.java:31) at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenActi on(WODynamicGroup.java:101) at com.webobjects.appserver._private.WODynamicGroup.invokeAction (WODynamicGroup.java:110) at com.webobjects.appserver._private.WOComponentContent.invokeAction (WOComponentContent.java:31) at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenActi on(WODynamicGroup.java:101) at er.extensions.components.conditionals.ERXWOConditional.invokeChildr enAction(ERXWOConditional.java:111) at com.webobjects.appserver._private.WODynamicGroup.invokeAction (WODynamicGroup.java:110) at er.extensions.components.conditionals.ERXWOConditional.invokeAction (ERXWOConditional.java:102) at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenActi on(WODynamicGroup.java:101) at com.webobjects.appserver._private.WODynamicGroup.invokeAction (WODynamicGroup.java:110) at com.webobjects.appserver.WOComponent.invokeAction (WOComponent.java:945) at com.webobjects.appserver._private.WOComponentReference.invokeAction (WOComponentReference.java:104) at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenActi on(WODynamicGroup.java:101) at com.webobjects.appserver._private.WODynamicGroup.invokeAction (WODynamicGroup.java:110) at com.webobjects.appserver.WOComponent.invokeAction (WOComponent.java:945) at com.webobjects.appserver._private.WOComponentReference.invokeAction (WOComponentReference.java:104) at com.webobjects.appserver._private.WODynamicGroup.invokeChildrenActi on(WODynamicGroup.java:101) at com.webobjects.appserver._private.WODynamicGroup.invokeAction (WODynamicGroup.java:110) at com.webobjects.appserver.WOComponent.invokeAction (WOComponent.java:945) at com.webobjects.appserver.WOSession.invokeAction (WOSession.java:1168) at com.webobjects.appserver.WOApplication.invokeAction (WOApplication.java:1375) at er.extensions.appserver.ajax.ERXAjaxApplication.invokeAction (ERXAjaxApplication.java:49) at er.extensions.appserver.ERXApplication.invokeAction (ERXApplication.java:1539) at com.webobjects.appserver._private.WOComponentRequestHandler._dispat chWithPreparedPage(WOComponentRequestHandler.java:196) at com.webobjects.appserver._private.WOComponentRequestHandler._dispat chWithPreparedSession(WOComponentRequestHandler.java:287) at com.webobjects.appserver._private.WOComponentRequestHandler._dispat chWithPreparedApplication(WOComponentRequestHandler.java:322) at com.webobjects.appserver._private.WOComponentRequestHandler._handle Request(WOComponentRequestHandler.java:358) at com.webobjects.appserver._private.WOComponentRequestHandler.handleR equest(WOComponentRequestHandler.java:432) at com.webobjects.appserver.WOApplication.dispatchRequest (WOApplication.java:1306) at er.extensions.appserver.ERXApplication.dispatchRequestImmediately (ERXApplication.java:1654) at er.extensions.appserver.ERXApplication.dispatchRequest (ERXApplication.java:1619) at com.uploadsuite.NBUploadAction.finalResponse (NBUploadAction.java:355) at com.uploadsuite.NBUploadAction.performAction (NBUploadAction.java:116) at com.uploadsuite.NBURequestHandler.handleRequest (NBURequestHandler.java:47) at com.webobjects.appserver.WOApplication.dispatchRequest (WOApplication.java:1306) at er.extensions.appserver.ERXApplication.dispatchRequestImmediately (ERXApplication.java:1654) at er.extensions.appserver.ERXApplication.dispatchRequest (ERXApplication.java:1619) at com.webobjects.appserver._private.WOWorkerThread.runOnce (WOWorkerThread.java:173) at com.webobjects.appserver._private.WOWorkerThread.run (WOWorkerThread.java:254)
        at java.lang.Thread.run(Thread.java:613)
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/chill% 40global-village.net

This email sent to [email protected]

--
Chuck Hill             Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.
http://www.global-village.net/products/practical_webobjects






_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/huemai% 40mac.com

This email sent to [email protected]



--
Chuck Hill             Senior Consultant / VP Development

Practical WebObjects - for developers who want to increase their overall knowledge of WebObjects or who are trying to solve specific problems.
http://www.global-village.net/products/practical_webobjects







_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to