Re: Inner Java Enum as value class in EntityModeler [SOLVED]

2009-11-07 Thread Ricardo J. Parada


On Nov 7, 2009, at 10:49 AM, Riccardo De Menna wrote:


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.


That's what we've done.

I created a jira and commented on the possible fix.  Maybe I should  
have submitted a patch but Mike that this would probably be best to  
solve it inside WOLips.


http://issues.objectstyle.org/jira/browse/WONDER-263?page=comments#action_13447


 ___
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

Re: Inner Java Enum as value class in EntityModeler [SOLVED]

2009-11-07 Thread Riccardo De Menna

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


Re: Inner Java Enum as value class in EntityModeler

2009-11-07 Thread Johann Werner

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






smime.p7s
Description: S/MIME cryptographic signature
 ___
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

Inner Java Enum as value class in EntityModeler

2009-11-07 Thread 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