Probably not a great solution if you have this happening in a lot of places, 
but have you tried adding

valueClassName = "java.lang.Boolean";

to the attribute instead of relying on the prototype to provide it?

Ramsey

On Jun 29, 2011, at 4:06 PM, Kieran Kelleher wrote:

> ERPrototypes is in the classpath.
> 
> I tried ERAttributeExtension and same error after running for a while.
> 
> BTW, seems to only happen when:
> 
> Multiple threads creating instances of the same Entity where the editing 
> contexts share the same parent OSC.
> 
> Might be a WO 5.4.3 bug
> 
> Also, the attribute in question looks like this:
>         {
>             columnName = isfactorialprime; 
>             name = isFactorialPrime; 
>             prototypeName = boolean; 
>             userInfo = {
>                 "_EntityModeler" = {documentation = 
> "http://en.wikipedia.org/wiki/Factorial_prime";; }; 
>             }; 
>         }, 
> 
> ..... and the ERPrototypes proto (boolean), for reference, looks like this:
>         {
>             adaptorValueConversionMethodName = toString; 
>             columnName = ""; 
>             externalType = VARCHAR; 
>             factoryMethodArgumentType = EOFactoryMethodArgumentIsNSString; 
>             name = boolean; 
>             valueClassName = "java.lang.Boolean"; 
>             valueFactoryMethodName = valueOf; 
>             width = 5; 
>         }, 
> 
> 
> On Jun 29, 2011, at 6:32 PM, Ramsey Gurley wrote:
> 
>> I suspect it may have something to do with the use of the incompletely 
>> deprecated _valueClassName in WO 5.4.3's EOAttribute.  EOAttribute still 
>> uses it, sometimes. I don't remember the issue I was having, but that is 
>> something I changed in ERAttributeExtension's version of this method. You 
>> could try running with that to see if it makes any difference.
>> 
>> Generally when I've seen an error here, it's a missing prototype. In one 
>> case, I hunted for hours only to discover I forgot to import ERPrototypes 
>> (^_^)  I don't know why your app would forget it occasionally though.
>> 
>> Ramsey
>> 
>> On Jun 29, 2011, at 3:08 PM, Kieran Kelleher wrote:
>> 
>>> Anyone ever seen an error like this before? Not reproducible easily - can 
>>> happen during heavy EOF save activity across multiple threads in WO 5.4.3. 
>>> I have failed to make the same error happen with same code in WO 5.3.3.
>>> 
>>> IllegalStateException: adaptorValueType: unable to load class named 
>>> 'Boolean' for attribute isFactorialPrime on entity ResultItem
>>>   at 
>>> com.webobjects.eoaccess.EOAttribute.adaptorValueType(EOAttribute.java:2216)
>>>   at 
>>> com.webobjects.eoaccess.EOAttribute.adaptorValueClass(EOAttribute.java:2254)
>>>   at 
>>> com.webobjects.eoaccess.EOEntityClassDescription._enforcedKVCNumberClassForKey(EOEntityClassDescription.java:548)
>>>   at 
>>> er.extensions.eof.ERXEntityClassDescription._enforcedKVCNumberClassForKey(ERXEntityClassDescription.java:1266)
>>>   at 
>>> com.webobjects.eocontrol.EOGenericRecord._otherStorageBinding(EOGenericRecord.java:146)
>>>   at 
>>> er.extensions.eof.ERXGenericRecord._otherStorageBinding(ERXGenericRecord.java:231)
>>>      ... skipped 2 stack elements
>>>   at 
>>> com.webobjects.eocontrol.EOKeyValueCoding$DefaultImplementation._createStoredKeySetBindingForKey(EOKeyValueCoding.java:350)
>>>   at 
>>> com.webobjects.eocontrol.EOCustomObject._createStoredKeySetBindingForKey(EOCustomObject.java:1744)
>>>   at 
>>> com.webobjects.eocontrol.EOGenericRecord._storedKeySetBindingForKey(EOGenericRecord.java:215)
>>>   at 
>>> com.webobjects.eocontrol.EOCustomObject.takeStoredValueForKey(EOCustomObject.java:1662)
>>>   at 
>>> er.extensions.eof.ERXGenericRecord.takeStoredValueForKey(ERXGenericRecord.java:1402)
>>>   at wowodc.eof._ResultItem.setIsFactorialPrime(_ResultItem.java:114)
>>>   at wowodc.eof.ResultItem.awakeFromInsertion(ResultItem.java:38)
>>>   at 
>>> com.webobjects.eocontrol.EOEditingContext.insertObjectWithGlobalID(EOEditingContext.java:2871)
>>>   at er.extensions.eof.ERXEC.insertObjectWithGlobalID(ERXEC.java:886)
>>>   at 
>>> com.webobjects.eocontrol.EOEditingContext.insertObject(EOEditingContext.java:2889)
>>>   at er.extensions.eof.ERXEC.insertObject(ERXEC.java:896)
>>>   at 
>>> er.extensions.eof.ERXEOControlUtilities.createAndInsertObject(ERXEOControlUtilities.java:322)
>>>   at 
>>> er.extensions.eof.ERXEOControlUtilities.createAndInsertObject(ERXEOControlUtilities.java:298)
>>>   at 
>>> er.extensions.eof.ERXEOControlUtilities.createAndInsertObject(ERXEOControlUtilities.java:284)
>>>   at 
>>> wowodc.background.tasks.T04MultiThreadedEOFTask$ChildPrimeTask.run(T04MultiThreadedEOFTask.java:266)
>>>   at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
>>>   at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>>>   at java.util.concurrent.FutureTask.run(FutureTask.java:138)
>>>   at 
>>> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
>>>   at 
>>> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
>>>   ... skipped 1 stack elements
>>> _______________________________________________
>>> 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/rgurley%40smarthealth.com
>>> 
>>> This email sent to [email protected]
>> 
> 

 _______________________________________________
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