Hi Johann,

Thank you for your advice. As you suggested, solving the issue was just a matter of tweaking the templates. I'm using some custom written ones but for anyone with the same issue it's just a matter of sprinkling a bunch of '.replace('$','.')' after any occurrence of the misspelled class name.

As an example taken from the usual _WonderEntity.java, replacing line

public static final ERXKey<$attribute.javaClassName> $ {attribute.uppercaseUnderscoreName} = new ERXKey< $attribute.javaClassName>(${attribute.uppercaseUnderscoreName}_KEY);


with line:

public static final ERXKey<$attribute.javaClassName.replace('$','.') > ${attribute.uppercaseUnderscoreName} = new ERXKey< $attribute.javaClassName.replace('$','.')>($ {attribute.uppercaseUnderscoreName}_KEY);


Fixes the issue... hope this can help others as well,

Cheers,
rdm

On 07/nov/2009, at 02.46, Johann Werner wrote:

Hi Riccardo,

some time ago I had the very same problem using inner enums in Entity Modeler. I found that the easiest way was to move those enums out of their outer class and make them "normal" enums. The other, more laborious, way would be to tweak the eogenerator templates to do the replacement of '$' by '.' automatically.

jw


Am 07.11.2009 um 10:03 schrieb Riccardo De Menna:

Hi,

This issue was already discussed once but I can't really find if it was fixed somehow and I'm missing the obvious.

I'm trying more and more to force myself to use Java Enums whenever possible (instead of static fields) and often I find myself in need to serialize them to db for storage.

So I write nice to/from PLIST/BLOB factory and conversion methods to dump my Enums into whatever storage I'm using. This unfortunately requires me to fill in Entity Modeler's 'Value Class' field using an inner class (actually it's an inner Enum).

I can't use the Class.InnerClass notation. It only works with the Class$InnerClass notation. The problem is that the template then will also pickup the $ thing and wrongly write bugged templates that I have to manually fix.

It's only a matter of searching all the '$' and replacing them with a '.', but it can be tedious when you are tweaking the model often.

Is there a way to use an inner class without having to manually patch the generated templates?

rdm




_______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      (Webobjects-dev@lists.apple.com)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to