Moving the thread back to weld-dev On 03/09/2015 10:32 AM, Jozef Hartinger wrote: > How do you obtain the current value of a field from an InjectionPoint? > Do you use proprietary APIs for that? > > Jozef > > On 03/09/2015 09:52 AM, Mark Struberg wrote: >> There is an easy trick though which we do at BatchEE: >> The producer is @Dependent. So you can simply inject the InjectionPoint and >> inspect the current value in case it is not yet set. >> >> LieGrue, >> strub >> >> >>> Am 09.03.2015 um 07:25 schrieb Jozef Hartinger <[email protected]>: >>> >>> Adding weld-dev. >>> >>> Hi Cheng, >>> >>> by defining a producer method you are basically saying "I am able to supply >>> an object for this given type/qualifier combination". There is not way to >>> opt out of it at runtime. Are you concerned about the JVM default values or >>> the default values a user has provided? >>> >>> Jozef >>> >>> On 03/07/2015 05:54 PM, Cheng Fang wrote: >>>> Hi Jozef, >>>> >>>> I'm having a question in using CDI injection in project JBeret (batch impl >>>> project), and would appreciate any help from you. >>>> >>>> A batch application (in Java SE or EE) can inject configured batch >>>> properties into batch artifact classes: >>>> >>>> @Inject >>>> @javax.batch.api.BatchProperty(name = "batchPropName") >>>> String batchPropName = "default name"; >>>> >>>> The property value comes from job.xml, which is the batch job definition >>>> descriptor file: >>>> >>>> <batchlet ref="batchlet1"> >>>> <properties> >>>> <property name="batchPropName" value="configured name"/> >>>> </properties> >>>> ... >>>> >>>> When "batchPropName" property is not configured in job.xml, the injection >>>> should not happen, and whatever java default field value should be >>>> preserved for batchPropName field. >>>> >>>> With our current batch CDI extension [1] and producer bean [2], it injects >>>> a null value into this field, overwriting the java default value, when the >>>> target batch property is not present. >>>> >>>> How to signal to Weld to skip performing the injection for those injection >>>> targets? Ideally, I hope it can be done from within producer methods, >>>> which is the place we retrieve batch properties and know whether they >>>> exist or not. >>>> >>>> I think this is also how Java EE field injection works. How do we handle >>>> it in EE, and is it something I can mirror? >>>> >>>> Thanks, >>>> Cheng >>>> >>>> [1] >>>> https://github.com/jberet/jsr352/blob/master/jberet-core/src/main/java/org/jberet/creation/BatchCDIExtension.java >>>> >>>> [2] >>>> https://github.com/jberet/jsr352/blob/master/jberet-core/src/main/java/org/jberet/creation/BatchBeanProducer.java >>>> >>>> >>> _______________________________________________ >>> weld-dev mailing list >>> [email protected] >>> https://lists.jboss.org/mailman/listinfo/weld-dev >> _______________________________________________ >> cdi-dev mailing list >> [email protected] >> https://lists.jboss.org/mailman/listinfo/cdi-dev >> >> Note that for all code provided on this list, the provider licenses the code >> under the Apache License, Version 2 >> (http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas >> provided on this list, the provider waives all patent and other intellectual >> property rights inherent in such information. > _______________________________________________ > cdi-dev mailing list > [email protected] > https://lists.jboss.org/mailman/listinfo/cdi-dev > > Note that for all code provided on this list, the provider licenses the code > under the Apache License, Version 2 > (http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas > provided on this list, the provider waives all patent and other intellectual > property rights inherent in such information.
_______________________________________________ weld-dev mailing list [email protected] https://lists.jboss.org/mailman/listinfo/weld-dev
