Re: oops, EditingContext disposed?
Re: oops, EditingContext disposed?
- Subject: Re: oops, EditingContext disposed?
- From: Chuck Hill <email@hidden>
- Date: Fri, 27 Feb 2009 10:22:42 -0800
Mike made me look at your code again. That is a terrible thing to do
in a set method. I don't know what you are doing or the context you
are doing it in, but this seems slightly less awful:
public void setIsPrimoPiano(Boolean value) {
if (value) {
NSArray<CFArticle> array =
(NSArray
<CFArticle>)EOUtilities.objectsMatchingKeyAndValue(editingContext(),
"CFArticle", "isPrimoPiano", true);
if (array!=null) {
for (int i=0 ; i < array.count() ; i++) {
array.objectAtIndex(i).setIsPrimoPiano(false);
}
}
}
super.setIsPrimoPiano(value);
}
Note that if CFArticle _is_ in the shared editing context that you
have a larger problem.
Chuck
On Feb 27, 2009, at 9:59 AM, Chuck Hill wrote:
It is almost certainly something that you did in your code.
ERXGenericRecord$InverseRelationshipUpdater seems to be involved, so
maybe ask about that on the Wonder list.
Chuck
On Feb 27, 2009, at 2:11 AM, Amedeo Mantica wrote:
any news?
Thanks
Amedeo
On 24/feb/09, at 18:40, Amedeo Mantica wrote:
but that code was working some day ago... is really strange
at the moment I have "solved" using raw sql
EOUtilities.rawRowsForSQL(new EOEditingContext(),
"WebConfindustria", "UPDATE CFArticle SET
isPrimoPiano='false';",null);
but this is not a solutions, is just a trick...
Amedeo
On 24/feb/09, at 18:25, Amedeo Mantica wrote:
absolutely not
Amedeo
On 24/feb/09, at 18:11, Chuck Hill wrote:
Have you overridden awakeFromFetch and not called
super.awakeFromFetch?
Chuck
On Feb 24, 2009, at 8:22 AM, Amedeo Mantica wrote:
This is new to me....
public void setIsPrimoPiano(Boolean value) {
if (value) {
EOEditingContext ec = new EOEditingContext();
ec.setSharedEditingContext(null); // I set null to shared
EO because i fetch all in application
LINE 42 ---> NSArray<CFArticle> array =
(NSArray<CFArticle>)EOUtilities.objectsMatchingKeyAndValue(ec,
"CFArticle", "isPrimoPiano", true);
if (array!=null) {
for (int i=0 ; i < array.count() ; i++) {
array.objectAtIndex(i).setIsPrimoPiano(false);
}
}
ec.saveChanges();
}
super.setIsPrimoPiano(value);
}
Attempt to access an EO that has either not been inserted into
any EOEditingContext or its EOEditingContext has already been
disposed
com
.webobjects
.eocontrol.EOCustomObject.willRead(EOCustomObject.java:1158)
com.webobjects.eocontrol._EOMutableKnownKeyDictionary
$Initializer
$
_GenericRecordBinding
.valueInObject(_EOMutableKnownKeyDictionary.java:570)
com.webobjects.eocontrol._EOMutableKnownKeyDictionary
$Initializer
$
_LazyGenericRecordBinding
.valueInObject(_EOMutableKnownKeyDictionary.java:613)
com
.webobjects
.eocontrol.EOCustomObject.storedValueForKey(EOCustomObject.java:
1634) it.chieti.confindustria._CFArea.articles(_CFArea.java:
103) sun.reflect.NativeMethodAccessorImpl.invoke0(Native
Method)
sun
.reflect
.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
39)
sun
.reflect
.DelegatingMethodAccessorImpl
.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
com.webobjects.foundation.NSKeyValueCoding$ValueAccessor
$1.methodValue(NSKeyValueCoding.java:636)
com.webobjects.foundation.NSKeyValueCoding
$_MethodBinding.valueInObject(NSKeyValueCoding.java:1134)
com
.webobjects
.eocontrol.EOCustomObject.valueForKey(EOCustomObject.java:1498)
er.extensions.eof.ERXGenericRecord
$
InverseRelationshipUpdater
.takeStoredValueForKey(ERXGenericRecord.java:1431)
er
.extensions
.eof
.ERXGenericRecord.takeStoredValueForKey(ERXGenericRecord.java:
1217) com.webobjects.eocontrol.EOKeyValueCoding
$
_StoredForwardingBinding.setValueInObject(EOKeyValueCoding.java:
240)
com
.webobjects
.eoaccess
.EODatabaseContext
.initializeObjectRowEntityEditingContext(EODatabaseContext.java:
2246)
com
.webobjects
.eoaccess
.EODatabaseContext.initializeObject(EODatabaseContext.java:
3581)
com
.webobjects
.eocontrol
.EOObjectStoreCoordinator
.initializeObject(EOObjectStoreCoordinator.java:597)
com
.webobjects
.eocontrol
.EOEditingContext.initializeObject(EOEditingContext.java:3768)
com.webobjects.eoaccess.EODatabaseChannel
$
_EODatabaseChannelFetchResult
.initializeObjects(EODatabaseChannel.java:496)
com
.webobjects
.eoaccess
.EODatabaseContext
._objectsWithFetchSpecificationEditingContext
(EODatabaseContext.java:3090)
com
.webobjects
.eoaccess
.EODatabaseContext
.objectsWithFetchSpecification(EODatabaseContext.java:3195)
com
.webobjects
.eocontrol
.EOObjectStoreCoordinator
.objectsWithFetchSpecification(EOObjectStoreCoordinator.java:
488)
com
.webobjects
.eocontrol
.EOEditingContext
.objectsWithFetchSpecification(EOEditingContext.java:4069)
com
.webobjects
.eocontrol
.EOEditingContext
.objectsWithFetchSpecification(EOEditingContext.java:4444)
com
.webobjects
.eoaccess.EOUtilities.objectsMatchingValues(EOUtilities.java:
216)
com
.webobjects
.eoaccess
.EOUtilities.objectsMatchingKeyAndValue(EOUtilities.java:190)
it
.chieti.confindustria.CFArticle.setIsPrimoPiano(CFArticle.java:
42)
_______________________________________________
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
--
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@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
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
--
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
--
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@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden