• 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: ERXEC vs EOEditingContext
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: ERXEC vs EOEditingContext


  • Subject: Re: ERXEC vs EOEditingContext
  • From: Lachlan Deck <email@hidden>
  • Date: Sat, 14 Mar 2009 08:08:42 +1100

On 14/03/2009, at 7:26 AM, Johnny Miller wrote:

I was writing some tests to verify my eomodel and I came into a situation where the test would fail if I used ERXEC.newEOEditingContext() vs new EOEditingContext() for the editing context.

Basically, I have many entities that are chained together by one to many relationships. In the test I check if I delete one of the lower entities that the the entities connected to it's to many relationship are deleted by the cascade rule.

----------------------
Terminology helps :-) Entity as akin to Class or type. Record is akin to instance. Therefore, you're either talking about 'records' rather than entities or you're talking about inheritance (i.e., an entity has a relationship to an abstract parent entity in inheritance).


It's clearer to talk using records / instances rather than entities because you create Entities via the modeler which are the abstract definition of both your java classes and database schema.

So, I believe you mean:
Basically, I have many records (of type 'A') that have a toOne relationship to records of type 'B'. Thus, A <<--> B. i.e., records of type 'A' are grouped by the fact that each record 'B' has a toMany relationship to a set of records of type 'A'.


In the test I check if I delete one of the record Bs that all the 'A' records connected to it's to many relationship are deleted by the cascade rule.

Using ERXEC, however, during the tearDown I get the following error:

(Clearer? Or did you mean something else?)

Secondly, what version of WO/Wonder are you using?
----------------------

Anyway, are you locking? i.e.,
ec.lock();
try {

} finally {
	ec.unlock();
}

java.lang.IllegalArgumentException: Array is empty
at com.webobjects.foundation.NSArray.objectAtIndex(NSArray.java:392)
at com .webobjects .eocontrol ._EOCheapCopyMutableArray .objectAtIndex(_EOCheapCopyMutableArray.java:110)
at com .webobjects .eocontrol .EOClassDescription.propagateDeleteForObject(EOClassDescription.java: 502)
at com .webobjects .eocontrol .EOCustomObject .propagateDeleteWithEditingContext(EOCustomObject.java:693)
at com .webobjects .eocontrol .EOClassDescription.propagateDeleteForObject(EOClassDescription.java: 509)
at com .webobjects .eocontrol .EOCustomObject .propagateDeleteWithEditingContext(EOCustomObject.java:693)
at com .webobjects .eocontrol .EOClassDescription.propagateDeleteForObject(EOClassDescription.java: 509)
at com .webobjects .eocontrol .EOCustomObject .propagateDeleteWithEditingContext(EOCustomObject.java:693)
at com .webobjects .eocontrol .EOEditingContext.propagateDeletesUsingTable(EOEditingContext.java: 2248)
at com .webobjects .eocontrol .EOEditingContext._processDeletedObjects(EOEditingContext.java:2210)
at com .webobjects .eocontrol .EOEditingContext._processRecentChanges(EOEditingContext.java:1770)
at com .webobjects .eocontrol .EOEditingContext.processRecentChanges(EOEditingContext.java:1969)
at er.extensions.eof.ERXEC.processRecentChanges(ERXEC.java:659)
at er.extensions.eof.ERXEnterpriseObject $Observer.editingContextWillSaveChanges(ERXEnterpriseObject.java:46)
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.NSSelector._safeInvokeMethod(NSSelector.java: 122)
at com.webobjects.foundation.NSNotificationCenter $_Entry.invokeMethod(NSNotificationCenter.java:588)
at com .webobjects .foundation .NSNotificationCenter.postNotification(NSNotificationCenter.java:532)
at com .webobjects .foundation .NSNotificationCenter.postNotification(NSNotificationCenter.java:546)
at er.extensions.eof.ERXEC.saveChanges(ERXEC.java:901)
at com .kahalawai .unittests.enterprise.VersionTest.tearDown(VersionTest.java:144)
at junit.framework.TestCase.runBare(TestCase.java:140)
at junit.framework.TestResult$1.protect(TestResult.java:110)
at junit.framework.TestResult.runProtected(TestResult.java:128)
at junit.framework.TestResult.run(TestResult.java:113)
at junit.framework.TestCase.run(TestCase.java:124)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at junit.framework.TestSuite.runTest(TestSuite.java:232)
at junit.framework.TestSuite.run(TestSuite.java:227)
at org .junit .internal.runners.OldTestClassRunner.run(OldTestClassRunner.java:76)
at org .eclipse .jdt .internal .junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
at org .eclipse .jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
at org .eclipse .jdt .internal .junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
at org .eclipse .jdt .internal .junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
at org .eclipse .jdt .internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
at org .eclipse .jdt .internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java: 196)


Is there something in my model that could have caused this?

Best,

Jon


_______________________________________________ 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

with regards, --

Lachlan Deck



_______________________________________________
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: ERXEC vs EOEditingContext
      • From: Johnny Miller <email@hidden>
References: 
 >ERXEC vs EOEditingContext (From: Johnny Miller <email@hidden>)

  • Prev by Date: Re: Latest WOLips war build; incorrect classpath generated
  • Next by Date: Re: Ant code to parse project name in .project
  • Previous by thread: ERXEC vs EOEditingContext
  • Next by thread: Re: ERXEC vs EOEditingContext
  • Index(es):
    • Date
    • Thread