+1 to the idea. I also think some more discussion about this is in order.

On Tue, Mar 6, 2012 at 04:09, Pete Muir <[email protected]> wrote:

> +1
>
> On 5 Mar 2012, at 16:17, Adrian Gonzalez wrote:
>
> > What about having both options ?
> >
> > 1. be able to use directly @ConfigProperty
> > @Produces
> > public LoginContext
> > produceLoginContext(@ConfigProperty("loginConfigFile") String
> loginConfigFileName, @ConfigProperty("loginModuleName") String
> loginModuleName)
> >   }
> > }
> > Handy when all config values are only used in a centralized class (e.g.
> MyAppConfig).
> >
> > 2. type safe config annotations
> > @ConfigProperty(
> >   name = "pool_size",
> >   eager = true, //true is also the default value -> the value gets
> converted during the bootstrapping process
> >   converter = StringToIntegerConverter.class
> > )
> > public @interface PoolSize {
> > }
> >
> > ----- Mail original -----
> > De : Gerhard Petracek <[email protected]>
> > À : [email protected]
> > Cc :
> > Envoyé le : Lundi 5 mars 2012 17h08
> > Objet : Re: Re : ConfigResolver : adding @ConfigProperty injection ?
> >
> > hi adrian,
> >
> > @#1:
> > it isn't the default value of the property.
> > eager should be true by default -> the configured value gets converted
> > during bootstrapping (if the value has an invalid format the
> bootstrapping
> > process fails).
> > if eager is false, the configured value will be converted directly before
> > the injection (e.g. for values stored in dynamic config-sources).
> >
> > @#2:
> > afaik there is an upcoming jsr about it.
> >
> > regards,
> > gerhard
> >
> >
> >
> > 2012/3/5 Adrian Gonzalez <[email protected]>
> >
> >> Hi Gerhard,
> >>
> >> 1. didn't understood the meaning of eager attribute
> >> If eager = default value, it should have been some integer value in your
> >> sample
> >>
> >>
> >> 2. StringToIntegerConverter converter
> >> Is there an existing conversion API (standard, in deltaspike, ...) ?
> >> (otherwise we're gonna need one here - and end up with another
> conversion
> >> API ;) )
> >>
> >> Thanks !
> >>
> >> ----- Mail original -----
> >> De : Gerhard Petracek <[email protected]>
> >> À : [email protected]
> >> Cc :
> >> Envoyé le : Lundi 5 mars 2012 12h57
> >> Objet : Re: ConfigResolver : adding @ConfigProperty injection ?
> >>
> >> hi adrian,
> >>
> >> if we agree also on adding a bit more to allow e.g.:
> >>
> >> //...
> >> @ConfigProperty(
> >>    name = "pool_size",
> >>    eager = true, //true is also the default value -> the value gets
> >> converted during the bootstrapping process
> >>    converter = StringToIntegerConverter.class
> >> )
> >> public @interface PoolSize
> >> {
> >> }
> >>
> >> @Inject
> >> @PoolSize
> >> private int configuredPoolSize;
> >>
> >> then i would vote +1
> >> (for sure the details need further discussions.)
> >>
> >> regards,
> >> gerhard
> >>
> >>
> >>
> >> 2012/3/5 Adrian Gonzalez <[email protected]>
> >>
> >>> Hello,
> >>>
> >>> Deltaspike config module is based on ConfigResolver usage :
> >>>    ConfigResolver.getPropertyValue("test")
> >>>
> >>>
> >>> Wouldn't it be interesting to add on top of it some injection
> >>> capacity ? (i.e. providing @ConfigProperty annotation)
> >>>
> >>> Sample usage [1] :
> >>> @Produces
> >>> public LoginContext
> >> produceLoginContext(@ConfigProperty("loginConfigFile")
> >>> String loginConfigFileName,
> >>>
> >>   @ConfigProperty("loginModuleName")
> >>> String loginModuleName)
> >>>     blabla
> >>> }
> >>>
> >>> This approach is based on Antonio's petstore application - config code
> is
> >>> available in [2]
> >>>
> >>> [1]
> >>>
> >>
> https://github.com/agoncal/agoncal-application-petstore-ee6/blob/master/src/main/java/org/agoncal/application/petstore/security/LoginContextProducer.java
> >>>
> >>> [2]
> >>>
> >>
> https://github.com/agoncal/agoncal-application-petstore-ee6/blob/master/src/main/java/org/agoncal/application/petstore/util/ConfigProperty.java
> >>>
> >>>
> >>
> https://github.com/agoncal/agoncal-application-petstore-ee6/blob/master/src/main/java/org/agoncal/application/petstore/util/ConfigPropertyProducer.java
> >>>
> >>>
> >>
> >>
> >
>
>


-- 
Jason Porter
http://lightguard-jp.blogspot.com
http://twitter.com/lightguardjp

Software Engineer
Open Source Advocate
Author of Seam Catch - Next Generation Java Exception Handling

PGP key id: 926CCFF5
PGP key available at: keyserver.net, pgp.mit.edu

Reply via email to