From: Anjo K. <kr...@lo...> - 2007-01-02 16:55:07
|
Hi Kieran, it took me effectively ages to actually get the ERMailer app to work... next time, please post more info, like your connection dicts, prototype settings etc. From what I can see, there are/were quite a few of problems in the current setup and frankly I'm not sure how you even got as far as you did. Some highlights: - build.properties was missing from ERC, so debugging left out the principal class in eclipse - this caused the lastModified not being set, causing a validation error - changed property handling lead to a needed <modelname>.EOPrototypeEntityName for ERC and ERMailer - fetching the ripeMessages and messagesToBeSent doesn't work anymore, as the string 'rtbs' isn't recognized as a suitable value - flattening prototypes leads to the factory value type being NSData, not String - actually, there is a bug in EOAttribute that classes with the values set in EOM (or some other bug in EOAttribute) - the observer for setting the EC timestamps was set too late in the game, thus the last modified date was null - the superclass of _ERCMailMessage wasn't set to ERCStampedEnterpriseObject (see below) The last one is causing the problem you have, i.e, the full message is: Error encountered converting value of class er.corebusinesslogic.ERCMailState to type specified in attribute 'state' of entity 'ERCMailMessage'. Conversion exception is : Unable to convert value of class java.lang.String for attribute 'state' in entity 'ERCMailMessage' to adaptor type EOAttribute.AdaptorBytesType. Check the signature of the conversion method er.corebusinesslogic.ERCMailState.value(). Some other neatos: - you can set an observer for a notification to a Class, but not when it's abstract - the version of EOGenerator I'm currently using does not pick up the entity userInfo like the one I did before so: - the superclass is set correctly in the userInfo of the model, but isn't picked up from the templates. Now as auto-building re-creates the _Foo classes, it took me quite a while to find why my manual fix to the correct class didn't work. - the boolean flags are broken, at least in postgres. This seems to be an error in the prototypes. To cut a long story short: it should be working now once I got to commit my (partially extremely ugly) fixes. You need to set the correct prototype for your model amongst other things I'm not sure of. Sheesh. And all this for a framework I don't even use! Cheers, Anjo Am 29.12.2006 um 20:10 schrieb Kieran Kelleher: > I have an app that has been working with old (> 15 mths) Project > WOnder source. Yesterday I updated the project to work with > yesterday's CVS PW. > > One bug that I am failing to figure out is this error when I try and > save a new ERCMailMessage (ercorebusinesslogic framework). I can see > that AK got rid of the mailstate entity at some time in the past and > has ERCMailState extends ERXConstant.StringConstant. I see the > conversion method is value, inherited from ERXConstant.StringConstant > and I have logged out the ERCMailState attribute and the value method > which seem fine. Any clues as to what could be the root cause of > this? -- Regards, Kieran > > propertyKey: state; type: ValueConversionException; > additionalExceptions: ()> > at com.webobjects.eoaccess.EOAttribute.validateValue > (EOAttribute.java:2371) > at > com.webobjects.eoaccess.EOEntityClassDescription.validateValueForKey > (EOEntityClassDescription.java:439) > at er.extensions.ERXEntityClassDescription.validateValueForKey > (ERXEntityClassDescription.java:808) > at com.webobjects.eocontrol.EOCustomObject.validateValueForKey > (EOCustomObject.java:1339) > at er.extensions.ERXGenericRecord.validateValueForKey > (ERXGenericRecord.java:691) > at com.webobjects.eocontrol.EOCustomObject.validateForSave > (EOCustomObject.java:1411) > at er.extensions.ERXGenericRecord.validateForSave > (ERXGenericRecord.java:727) > at er.corebusinesslogic.ERCMailMessage.validateForSave > (ERCMailMessage.java:263) > at com.167494 DEBUG [Thread-1] (EmailBlaster$EmailBlasterRunner, > run, 178) - > state = er.corebusinesslogic.ERCMailState: Ready to be sent (rtbs) > > 167495 DEBUG [Thread-1] (EmailBlaster$EmailBlasterRunner, run, 179) - > state.value = rtbs > > 167496 DEBUG [Thread-1] (EmailBlaster$EmailBlasterRunner, run, 192) - > exiting the loop, saving the ec. > > > ---------------------------------------------------------------------- > --- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to > share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php? > page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Wonder-disc mailing list > Won...@li... > https://lists.sourceforge.net/lists/listinfo/wonder-disc |