[forge-dev] Adding @Named to an EJBs... or anywhere

Robert Balent robert at balent.cz
Thu Jun 26 23:54:53 EDT 2014


I'm using "Roaster.parse" method for parsing so if it's not parsed
correctly, it will throw exception. I'll add exception handling and
tests today.

2014-06-26 12:10 GMT-07:00 Lincoln Baxter, III <lincolnbaxter at gmail.com>:
> Hey Robert, this is excellent! Do you think you could add a test for this
> advanced "escaped/complex" parsing?
>
> Thanks!
>
>
> On Thu, Jun 26, 2014 at 3:18 AM, Robert Balent <robert at balent.cz> wrote:
>>
>> 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] https://github.com/forge/core/pull/474
>>
>>
>>
>> 2014-06-24 22:40 GMT-07:00 Lincoln Baxter, III <lincolnbaxter at 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 at 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 at redhat.com>:
>> >>
>> >>> +1, is there a JIRA already for this?
>> >>>
>> >>> Em 13/06/2014, às 10:51, "Ivan St. Ivanov" <ivan.st.ivanov at 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 at 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 at 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 at lists.jboss.org
>> >>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>> >>>>
>> >>>>
>> >>>> _______________________________________________
>> >>>> forge-dev mailing list
>> >>>> forge-dev at lists.jboss.org
>> >>>> https://lists.jboss.org/mailman/listinfo/forge-dev
>> >>>
>> >>>
>> >>> _______________________________________________
>> >>> forge-dev mailing list
>> >>> forge-dev at lists.jboss.org
>> >>> https://lists.jboss.org/mailman/listinfo/forge-dev
>> >>>
>> >>>
>> >>> _______________________________________________
>> >>> forge-dev mailing list
>> >>> forge-dev at 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 at 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 at lists.jboss.org
>> > https://lists.jboss.org/mailman/listinfo/forge-dev
>>
>> _______________________________________________
>> forge-dev mailing list
>> forge-dev at 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 at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/forge-dev



More information about the forge-dev mailing list