[ 
https://issues.apache.org/jira/browse/ARIES-413?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12912558#action_12912558
 ] 

Timothy Ward commented on ARIES-413:
------------------------------------

As the existing JPA blueprint schema has been released twice, I think this 
change will need to go in version 1.1 of the schema.

I am going to make the property attribute of <unit/> and <context/> optional, 
and add a new attribute index.

-----------------------------------------------------------------------------

I propose the following usage for both unit and context:

To inject into a property "foo" :  <unit property="foo" unitname="bar"/>

To inject as an un-indexed constructor argument:    <unit unitname="bar"/>

To inject as an indexed constructor argument at position 2:    <unit index="2" 
unitname="bar"/>

-------------------------------------------------------------------------------

The following will generate exceptions when parsing:

<unit property="foo" index="1" unitname="bar"/>   - it is invalid to specify a 
property attribute and an index attribute

<unit index="abc" unitname="bar"/>   - it is invalid to specify an index 
attribute that is not parseable as an int

-------------------------------------------------------------------------------

What do people think of this proposed change? It allows for complete 
replacement of the <argument> element (as per the original use case) in a 
single element (rather than having to nest it). This approach is also backward 
compatible with the existing schema, and has an identical usage pattern for 
both property and constructor injection.

> Injecting an entity manager using factory method
> ------------------------------------------------
>
>                 Key: ARIES-413
>                 URL: https://issues.apache.org/jira/browse/ARIES-413
>             Project: Aries
>          Issue Type: Improvement
>          Components: JPA
>    Affects Versions: 0.2
>            Reporter: Bengt Rodehav
>            Assignee: Timothy Ward
>
> It is only possible to use setter injection when injecting a JPA entity 
> manager. The following  injection types should also be supported since they 
> are supported in the Blueprint spec:
> - Constructor injection
> - Factory method injection
> - Factory class injection
> An example of usage could be (using a factory method):
> <bean id="beanImpl" class="MyClass" factory-method="create">
>   <argument>
>     <jpa:context property="entityManager" unitname="myPU"/>
>   </argument>
> </bean>

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to