• 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: You crossed editing context boundaries...
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: You crossed editing context boundaries...


  • Subject: Re: You crossed editing context boundaries...
  • From: David LeBer <email@hidden>
  • Date: Tue, 14 Oct 2008 23:32:17 -0400


On 14-Oct-08, at 10:19 PM, WebObjects wrote:

mmm.. weird I tried to add it one by one using the addObjectToBothSidesOfRelationshipWithKey() method
and it stills giving me the java.lang.nullpointerexception
:S:S:S:
maybe something wrong with my EOModel???


Im attaching it..

<ScheduleControl.eomodeld>

The join table between Employee and Turn looks whacked.

- It has a three way compound primary key. (employeeId, id, turnId)
- It has a 'creationDate' attribute.
- It participates in a flattened relationship between Employee and Turn.

EOF is not going to know how generate that three way compound primary key.

If EmployeeXTurn is just a join table and is going to be flattened out of the object graph then it should just have a 2 way compound PK based on the FKs from Employee and Turn and it should NOT have any other attributes.

If EmployeeXTurn has attributes you need to gain access to (i.e. creationDate) then you should treat it like a standard EO.

- Remove the flattened relationships from Employee to Turn
- Expose the relationships from Employee and Turn to EmployeeXTurn
- Use only id as the PK.
- Manage the creation of EmployeeXTurn manually.

apart of the consistency names and other stuff, are the relations good?

Regards

Gus



On Oct 14, 2008, at 7:43 PM, Ricardo J. Parada wrote:

How about your registerTurns() method? Did you change it to use myEC instead of ERXEC.newEditingContext()?


On Oct 14, 2008, at 8:17 PM, WebObjects wrote:

aha... you are right, after whole day sitting here, I didn't realize I had teh emp at login with the session().defaultEditingContext, and here at PaguinaUsuario I m using another one.

My mind its kind of distracted...

I made the changes, and still Im getting the nullpointerexception


java.lang.NullPointerException
[2008-10-14 19:13:51 COT] <WorkerThread0> java.lang.NullPointerException
at com .webobjects .eoaccess .EODatabaseContext ._objectFaultWithSnapshotRelationshipEditingContext (EODatabaseContext.java:2356)
at com .webobjects .eoaccess .EODatabaseContext ._fireDeferredFaultWithSourceObject(EODatabaseContext.java:2401)
at com .webobjects .eoaccess .EOAccessDeferredFaultHandler .createFaultForDeferredFault(EOAccessDeferredFaultHandler.java:49)
at com .webobjects .eocontrol.EOCustomObject.willReadRelationship(EOCustomObject.java: 1279)
at er .extensions .eof.ERXGenericRecord.willReadRelationship(ERXGenericRecord.java: 348)
at com.webobjects.eocontrol._EOMutableKnownKeyDictionary $Initializer $ _LazyGenericRecordBinding .valueInObject(_EOMutableKnownKeyDictionary.java:614)
at com .webobjects .eocontrol.EOCustomObject.storedValueForKey(EOCustomObject.java: 1634)
at com .webobjects .eoaccess .EODatabaseContext .databaseOperationForObject(EODatabaseContext.java:4814)
at com .webobjects .eoaccess.EODatabaseContext.valuesForKeys(EODatabaseContext.java: 6535)
at com .webobjects .eocontrol .EOObjectStoreCoordinator .valuesForKeys(EOObjectStoreCoordinator.java:326)
at com.webobjects.eoaccess.EOQualifierSQLGeneration $ _KeyValueQualifierSupport .schemaBasedQualifierWithRootEntity(EOQualifierSQLGeneration.java: 439)
at er.extensions.ERXExtensions $ KeyValueQualifierSQLGenerationSupport .schemaBasedQualifierWithRootEntity(ERXExtensions.java:304)
at com.webobjects.eoaccess.EOQualifierSQLGeneration $ Support ._schemaBasedQualifierWithRootEntity(EOQualifierSQLGeneration.java: 179)
at com .webobjects .eoaccess .EODatabaseChannel .selectObjectsWithFetchSpecification(EODatabaseChannel.java:227)


and more........ much more.
On Oct 14, 2008, at 7:06 PM, Ricardo J. Parada wrote:


It looks like you got the employee object using the session's default editing context. And you are saying that your PaginaUsuario creates its own editing context in the constructor. So there you have it: two different editing contexts.


I would modify your setEmp() method in the PaginaUsuario that you make a copy of the emp object passed in to the editing context used in that page. Something like this:

	public void estEmp(Employee anEmp) {
		emp = anEmp.localInstanceIn(myEC);
	}

Then your registerTurns() method is yet creating another editing context. Shouldn't that be also myEC??



_______________________________________________ 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

;david

--
David LeBer
Codeferous Software
'co-def-er-ous' adj. Literally 'code-bearing'
site: 	http://codeferous.com
blog: 	http://davidleber.net
profile:	http://www.linkedin.com/in/davidleber
twitter:	http://twitter.com/rebeld
--
Toronto Area Cocoa / WebObjects developers group:
http://tacow.org




_______________________________________________ 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: You crossed editing context boundaries...
      • From: WebObjects <email@hidden>
References: 
 >You crossed editing context boundaries... (From: WebObjects <email@hidden>)
 >Re: You crossed editing context boundaries... (From: Clark Mueller <email@hidden>)
 >Re: You crossed editing context boundaries... (From: WebObjects <email@hidden>)
 >Re: You crossed editing context boundaries... (From: Clark Mueller <email@hidden>)
 >Re: You crossed editing context boundaries... (From: WebObjects <email@hidden>)
 >Re: You crossed editing context boundaries... (From: David LeBer <email@hidden>)
 >Re: You crossed editing context boundaries... (From: WebObjects <email@hidden>)
 >Re: You crossed editing context boundaries... (From: "Ricardo J. Parada" <email@hidden>)
 >Re: You crossed editing context boundaries... (From: WebObjects <email@hidden>)
 >Re: You crossed editing context boundaries... (From: "Ricardo J. Parada" <email@hidden>)
 >Re: You crossed editing context boundaries... (From: WebObjects <email@hidden>)

  • Prev by Date: Re: Using ERXEC with defaultEditingContext?
  • Next by Date: Doing WebServices? Does "dotNetSoapEncFix" mean anything to you...?
  • Previous by thread: Re: You crossed editing context boundaries...
  • Next by thread: Re: You crossed editing context boundaries...
  • Index(es):
    • Date
    • Thread