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.
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??