Parse input as java code is good idea. However parentheses have to be
escaped in Forge shell.
Have look at pull request 474 [1]. I've tried to implement this and if
the input is correctly escaped, it should be working.
Example:
java-add-annotation --annotation javax.inject.Named(\"beanName\")
Also more complicated examples like this are working:
java-add-annotation --annotation "TestAnnotation(param1 = {\"str1\",
\"str2\"}, param2 = \"hello\", param3 = {String.class, Main.class},
param4 = ENUM_VAL)"
Cheers,
Robert
[1]
2014-06-24 22:40 GMT-07:00 Lincoln Baxter, III <lincolnbaxter(a)gmail.com>:
I think maybe we need to separate the parameters out in this case:
ejb-new-bean --beanName foo --typeName FooBar
We should decide what these parameters need to be called.
In addition, I'm fine with the java-add-anotation command as well :) It
could probably even accept full java code:
java-add-annotation javax.inject.Named("beanName") --target .....
On Sun, Jun 15, 2014 at 4:41 PM, Antonio Goncalves
<antonio.mailing(a)gmail.com> wrote:
>
> Here is the JIRA :
https://issues.jboss.org/browse/FORGE-1880 (Being able
> to add @Named to an EJBs... or any annotation anywhere)
>
> I've linked it to
https://issues.jboss.org/browse/FORGE-1838 (Being able
> to generate methods) because at the end of the day, the idea behind both
> JIRAs is being able to add Java artifacts (attributes, annotations,
> methods...) to any kind of component (entity, backing bean, rest
> endpoint...)
>
>
> 2014-06-13 16:00 GMT+02:00 George Gastaldi <ggastald(a)redhat.com>:
>
>> +1, is there a JIRA already for this?
>>
>> Em 13/06/2014, às 10:51, "Ivan St. Ivanov"
<ivan.st.ivanov(a)gmail.com>
>> escreveu:
>>
>> Hi folks!
>>
>> I think that java-add-annotation is a good command that we should have.
>> But still it would be better to have also something more explicit for
>> creating named beans and setting stereotypes. So, I think that the three
>> levels of abstraction that Antonio described may be implemented. Well, at
>> the end they will reuse one and the same code for adding annotation, so no
>> repeating ourselves will occur.
>>
>> Cheers,
>> Ivan
>>
>>
>> On Fri, Jun 13, 2014 at 4:39 PM, George Gastaldi <ggastald(a)redhat.com>
>> wrote:
>>>
>>> I am leaning towards the java-add-annotation approach as it seems more
>>> intuitive and could solve other use cases that may arise.
>>>
>>> Em 13/06/2014, às 04:19, Antonio Goncalves <antonio.mailing(a)gmail.com>
>>> escreveu:
>>>
>>> When I create an EJB with Forge with the following command :
>>>
>>> ejb-new-bean --named MyService
>>>
>>> I get the following :
>>>
>>> @Stateless
>>> @LocalBean
>>> public class MyService implements Serializable
>>>
>>> In some cases, I would need to add an extra @Named annotation. Several
>>> ways to do it. On the EJB command itself, we could add a parameter :
>>>
>>> ejb-new-bean --named MyService --addNamed
>>>
>>> But I think it would be good to have something more generic that could
>>> be used anywhere. We could use the same logic as constraint-add (that adds
>>> any kind of constraint on any Entity) and have something like
>>>
>>> cdi-add-qualifier --qualifier Named --target org.app.service.MyService
>>> // or on a property, which could be useful
>>> cdi-add-qualifier --qualifier Named --onProperty myProp
>>> cdi-add-qualifier --qualifier Named --onMethod myMethod
>>>
>>> Or something even more generic would be to use the Java command
>>>
>>> java-add-annotation --annotation javax.inject.Named --target
>>> org.app.service.MyService
>>> java-add-annotation --annotation javax.inject.Named --target
>>> org.app.service.MyService --onProperty myProp
>>> java-add-annotation --annotation javax.inject.Named --target
>>> org.app.service.MyService --onMethod myMethod
>>> java-add-annotation --annotation javax.inject.Named --onProperty myProp
>>> java-add-annotation --annotation javax.inject.Named --onMethod myMethod
>>>
>>> Any thoughts ?
>>>
>>> Antonio
>>>
>>> _______________________________________________
>>> forge-dev mailing list
>>> forge-dev(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>>
>>>
>>> _______________________________________________
>>> forge-dev mailing list
>>> forge-dev(a)lists.jboss.org
>>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>>
>> _______________________________________________
>> forge-dev mailing list
>> forge-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>>
>> _______________________________________________
>> forge-dev mailing list
>> forge-dev(a)lists.jboss.org
>>
https://lists.jboss.org/mailman/listinfo/forge-dev
>
>
>
>
> --
> Antonio Goncalves
> Software architect and Java Champion
>
> Web site | Twitter | LinkedIn | Paris JUG | Devoxx France
>
> _______________________________________________
> forge-dev mailing list
> forge-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/forge-dev
--
Lincoln Baxter, III
http://ocpsoft.org
"Simpler is better."
_______________________________________________
forge-dev mailing list
forge-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/forge-dev