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

Lincoln Baxter, III lincolnbaxter at gmail.com
Thu Jun 26 15:10:41 EDT 2014


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."
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20140626/157a3115/attachment.html 


More information about the forge-dev mailing list