@ron:
i've created DELTASPIKE-892 for it.

regards,
gerhard



2015-05-01 18:12 GMT+02:00 Gerhard Petracek <gerhard.petra...@gmail.com>:

> it's a bit more complex and we need an additional marker-interface to keep
> all benefits we had before, however, +1 for committing it (because it's
> closer to the base which gets extended).
>
> regards,
> gerhard
>
>
>
> 2015-04-30 15:31 GMT+02:00 Gerhard Petracek <gerhard.petra...@gmail.com>:
>
>> i've to check some details, however, basically +1
>>
>> regards,
>> gerhard
>>
>>
>>
>> 2015-04-30 15:22 GMT+02:00 Ron Smeral <rsme...@apache.org>:
>>
>>> -----BEGIN PGP SIGNED MESSAGE-----
>>> Hash: SHA512
>>>
>>> Hi again,
>>>
>>> here's my proposal for a solution to the slight conf. API mess:
>>> https://github.com/rsmeral/deltaspike/commit/d270ac0cb6d5ed47a5912365f95
>>> 9145b12da0e99
>>> <https://github.com/rsmeral/deltaspike/commit/d270ac0cb6d5ed47a5912365f959145b12da0e99>
>>>
>>> Main change: a new type-safe fluent API for typed config resolution
>>>
>>> Connection conn = ConfigResolver.resolve("db.connection")
>>>   .as(Connection.class, new ConnectionConverter())
>>>   .parameterizedBy("db.vendor")
>>>   .withCurrentProjectStage(true)
>>>   .strictly()
>>>   .withDefault(whatever)
>>>   .getValue();
>>>
>>> or simply
>>>
>>>   String conn = ConfigResolver.resolve("db.connection").getValue();
>>>
>>> This would obsolete TypedConfig since ConfigResolver would be
>>> implicitly type-aware and it brings the type conversion functions from
>>> DefaultConfigPropertyProducer and TypedConfig into ConfigResolver.
>>>
>>> We would also mark the dynamic configurations with some interface
>>> (currently DeltaSpikeConfig), mark the static ones with another (e.g.
>>> DeltaSpikeBaseConfig).
>>>
>>> Check out the commit (and also DELTASPIKE-885) for more details.
>>>
>>> Thanks for any comments, reviews and suggestions :)
>>>
>>> R.
>>>
>>> On 28.4.2015 12:33, Ron Smeral wrote:
>>> > Thanks for the clarification. I'll try to answer my own question
>>> > then, please comment if anything is not right:
>>> >
>>> >> * why does PropertyFileConfig implement DeltaSpikeConfig? Doesn't
>>> >> make sense to me, given the purpose of DeltaSpikeConfig.
>>> >
>>> > I guess this was not intentional and is a bug. I'll file an issue
>>> > for this.
>>> >
>>> >> * is there any reason why the ones from the first category
>>> >> (TransactionConfig and JsfModuleConfig) couldn't be implemented
>>> >> using the second way (TypedConfig)?
>>> >
>>> > They couldn't, synce TypedConfig is for "static" boot-time
>>> > configuration .
>>> >
>>> >> * if none of the above is applicable, then: shouldn't the
>>> >> TypedConfig ones (CoreBaseConfig, ...) implement DeltaSpikeConfig
>>> >> as well?
>>> >
>>> > I understand that we'd like to keep DeltaSpikeConfig as the marker
>>> > for all "dynamic" configuration, i.e. the way it's used now. Maybe
>>> > we could introduce a new interface to expose the TypedConfig-based
>>> > interfaces, sth. like DeltaSpikeBaseConfig.
>>> >
>>> > R.
>>> >
>>> > On 27.4.2015 21:36, Mark Struberg wrote:
>>> >> Hi!
>>> >
>>> >> Sorry for brevity. Like to quickly sum up what we discussed on
>>> >> irc:
>>> >
>>> >> .) DeltaSpikeConfig is merely a marker interface for
>>> >> interfaces/classes which can be used to define the behaviour of
>>> >> certain DeltaSpike features at runtimy. Since this is a class it
>>> >>  can return different values for each invocation. This is e.g.
>>> >> useful for the LocaleResoler configuration (each user request
>>> >> could result in another Locale). Otoh this configuration
>>> >> mechanism is only available once the CDI container finally got
>>> >> booted. So it can NOT be used to e.g. configure CDI Extensions
>>> >> itself.
>>> >
>>> >> .) ConfigResolver based configuration. The TypeConfig is
>>> >> basically a object which contains the config-key + code to
>>> >> access the value. This mechanism is purely JavaSE and thus can
>>> >> also be used to configure Extensions itself as well. It’s also
>>> >> more the kind of a ’static’ configuration.
>>> >
>>> >> LieGrue, strub
>>> >
>>> >
>>> >>> Am 27.04.2015 um 19:38 schrieb Ron Smeral
>>> >>> <rsme...@apache.org>:
>>> >>>
>>> >> Hi,
>>> >
>>> >> DeltaSpike itself is currently configured in at least 2 different
>>> >> ways: * using interfaces extending DeltaSpikeConfig: **
>>> >> org.apache.deltaspike.jpa.api.transaction.TransactionConfig **
>>> >> org.apache.deltaspike.jsf.api.config.JsfModuleConfig (**
>>> >> PropertyFileConfig (Why? It does not configure just DS itself.))
>>> >
>>> >> * using interfaces with static TypedConfig instances: **
>>> >> org.apache.deltaspike.testcontrol.impl.jsf.MyFacesTestBaseConfig
>>> >> ** org.apache.deltaspike.testcontrol.api.junit.TestBaseConfig **
>>> >>  org.apache.deltaspike.scheduler.impl.SchedulerBaseConfig **
>>> >> org.apache.deltaspike.jsf.api.config.base.JsfBaseConfig **
>>> >> org.apache.deltaspike.core.api.config.base.CoreBaseConfig
>>> >
>>> >> My questions are: * why does PropertyFileConfig implement
>>> >> DeltaSpikeConfig? Doesn't make sense to me, given the purpose of
>>> >>  DeltaSpikeConfig.
>>> >
>>> >> * is there any reason why the ones from the first category
>>> >> (TransactionConfig and JsfModuleConfig) couldn't be implemented
>>> >> using the second way (TypedConfig)?
>>> >
>>> >> * if none of the above is applicable, then: shouldn't the
>>> >> TypedConfig ones (CoreBaseConfig, ...) implement DeltaSpikeConfig
>>> >> as well?
>>> >
>>> >> I hacked up a quick suggestion of how this could look:
>>> >> https://github.com/rsmeral/deltaspike/commit/b5be1c79b67d6a15b30036ed
>>> 9
>>> >
>>> >>
>>> >>
>>> 0a
>>> >
>>> >
>>> > 7b90fba9b5e00
>>> >
>>> >> Currently, having two ways of configuration defies the purpose
>>> >> of DeltaSpikeConfig -- that is allowing to find DS configuration
>>> >>  points easily.
>>> >
>>> >> WDYT?
>>> >
>>> >> Regards, Ron
>>> >
>>> >
>>> >
>>> >
>>>
>>> - --
>>> Ron Smeral
>>> JBoss Quality Engineer
>>> Brno
>>> -----BEGIN PGP SIGNATURE-----
>>>
>>> iQIcBAEBCgAGBQJVQiyEAAoJEJr1g28gQ1chuRAP/i+gtqFmLjeg17zQrPolUK/o
>>> 0/ZlGHonIHmMR8+ePWDpJIKMLgXRmj1pOk62sFbpGWDApfj2BLCfn/Lxz1L+6Zqp
>>> srsOrlQ3dYyy2kwHaPytClx6KNFcaBbK3p+BK5BR1IS2X2mtrRGhCZ7yWDRe6KKI
>>> JS0veh39NFfojhT/O7cImRqKRzsf6e1FoSRxCH/mFXOO5GBE3g/yPs+5j9kXwWjO
>>> DQffBl5II4lw4JHIvZeQW/JNC3hfq5Sgmxn3v6DtFnsurjqwkFpvwyD5kJDG6N2V
>>> LE6jX4QS0qbQB698OTH0efa0cvm19OcCobHvoWLvxtSr53yEdigtuYjcLU5ku5e3
>>> Wb1jjS4L6X/RN0c9QjsEm6d9zDJ4jZFbKPNziHezjWKEy/jbSbpft8peCHC9ApUg
>>> 7JLMT/tOHbAcQTTPYZHgYcJ0J2Ko49riJr0ymFJlfv3OE+LYOJ2R24G5YgDHteAF
>>> C2DOTjsutcaIRI36VqezjK3o/0kaX1NTM7vMfxtJNEWTJFH9KyDrJ45hat4swleH
>>> HCbnbt7lOV/nwJKSerylWpwnG+g3uy04r6YLEYipPKeyBgF/o+ILYk31iEkOYwEA
>>> GDt5Jsmr9rqxVEZgINK9MnT0w6vKcyq9JTq4lDvaWlcBmmBGmLQCttUnzoLNtA5N
>>> BG3tQ2IZbCamQnnxL0NR
>>> =ewF+
>>> -----END PGP SIGNATURE-----
>>>
>>
>>
>

Reply via email to