[jira] [Commented] (ARIES-743) Subclass cannot be created by ProxySubclassGenerator when there is static final method

2011-09-13 Thread Balazs Zsoldos (JIRA)

[ 
https://issues.apache.org/jira/browse/ARIES-743?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13103440#comment-13103440
 ] 

Balazs Zsoldos commented on ARIES-743:
--

For all the svn repositories below guest/guest credentials work.

Steps to reproduce:
Check out https://source.everit.biz/svn/everit-config/everit-parent/trunk/
mvn install
Check out https://source.everit.biz/svn/everit-config/everit-checkstyle/trunk/
mvn install
Check out https://source.everit.biz/svn/everit-localization/trunk/
mvn install site

The site generated by jacoco including the junit and integration tests metrics 
is located at localization-core/target/site/jacoco

 Subclass cannot be created by ProxySubclassGenerator when there is static 
 final method
 --

 Key: ARIES-743
 URL: https://issues.apache.org/jira/browse/ARIES-743
 Project: Aries
  Issue Type: Bug
  Components: Proxy
Affects Versions: 0.3
 Environment: Pax-Exam 2.2.0, Felix 3.2.0, Jacoco 5.3
Reporter: Balazs Zsoldos
 Attachments: staticMethodSubClass.patch


 Using Jacoco as a JavaAgent to get coverage reports during the unit tests I 
 get a FinalModifierException. Reason is that Jacoco appends the classes with 
 a private static final function.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (ARIES-727) support syntax : ${a+b} in blueprint-cm

2011-09-13 Thread Rex Wang (JIRA)

[ 
https://issues.apache.org/jira/browse/ARIES-727?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13103468#comment-13103468
 ] 

Rex Wang commented on ARIES-727:


OK, since changes are all made in trunk, I reverted the changes in branch at 
revision: 1170091.
Thanks.

-Rex

 support syntax : ${a+b} in blueprint-cm 
 

 Key: ARIES-727
 URL: https://issues.apache.org/jira/browse/ARIES-727
 Project: Aries
  Issue Type: New Feature
  Components: Blueprint
Affects Versions: blueprint-0.3.1, blueprint-0.4.0
Reporter: Rex Wang
Assignee: Rex Wang
 Fix For: blueprint-0.4.0

 Attachments: ARIES-727-blueprint-cm.patch, 
 ARIES-727-fixes-in-blueprint-ext.patch


 I am wondering if Aries blueprint-cm support such scenario:
 cm:property-placeholder id=property-placeholder persistent-id=o.a.b.com 
 placeholder-prefix=${ placeholder-suffix=}
 cm:default-properties
 cm:property name=port value=12345/
 cm:property name=offset value=10/
 /cm:default-properties
 /cm:property-placeholder
 xxx:conn name=loc uri=http://localhost:${port+offset}/
 I have a test, but seems the ${port+offset} can not be replaced with value 
 12355.
 -Rex
 ---
 Hi Rex,
 to my knowledge (substantiated with a quick code inspection) the placeholders 
 in Aries today support no operators or arithmetic like that. But please do 
 raise an Improvement JIRA for the future :)
 Regards,
 Valentin
 ---
 When we support this, we need to perform a 'plus' or string concatenate
 operation based on the variable type:).
 Therefore. when specifying the property in the blueprint xml, the explicit
 type should be specified if not string.
 Regards,
 Emily
 ---
 I _think_ I wrote something like this for xbean-blueprint since it didn't 
 look like blueprint supported it.  IIRC I used the same calculation engine as 
 the geronimo config substitutions.  I think you can infer what kind of 
 calculation to do (addition or concatenation) from the type of the property 
 you end up setting.
 thanks
 david jencks

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira




Re: [Release Discussion] ship maintenance releases of application-0.2.2 / util-0.2.1 / blueprint-0.3.2 ?

2011-09-13 Thread Rex Wang
2011/9/13 Alasdair Nottingham n...@apache.org

 Hi,

 While I agree that it would be odd to use ${a+b} notation in the way you
 describe the fact it works today makes me really unhappy with disabling it
 as a result of this change. I don't think that JSTL and blueprint are that
 analogous, so I don't think enabling this by default for everyone is the
 right way to do.

Hi
I mean how EL is used in JSTL is similar with this suggestion.
I agree pluggable evaluator is good, especially for the situation stated by
Guillaume. But for the ${a+b}, you are considering an existing support that
rarely people was using(even maybe no one used). So in practice, I did not
see any drawbacks to support this by default for everyone. I think simple is
beautiful, and there is no spec for blueprint-ext, why we can not change the
odd behavior support?

-Rex

We should respect the existing support and exploit good
 modularity to allow this to be plugged in as desired.

 Alasdair

 On 13 September 2011 09:32, Rex Wang rwo...@gmail.com wrote:

  Hi Alasdair,
 
  I am sorry for replying slow because I am on vacation.
 
  This looks much better than a new namespace to me. Thank you very much
 for
  thinking a lot on this!
  I can accept the new approach. But, IMHO, I think we should really
 forbid
  user use following style in blueprint-ext :
  (1) a+b as a key of value. eg: property name=a+b value=xxx /
  (2) ${a+b} as the injection value. eg: property name=zzz
  value=${a+b}
  / which expects the string ${a+b} to be injected to zzz.
  I think the above two styles are not that useful and always bring a lot
 of
  confusion while programming. And this is also not consistent with the
  existing development experiences in JSTL. So, my point of view is not
 that
  we must stick to jexl, I just hope we can support such evaluation
 natively.
 
  Anyway, if community decides, I respect.
 
  thanks,
 
  -Rex
 
  2011/9/9 Alasdair Nottingham n...@apache.org
 
   Hi,
  
   I have thought of a possible update we could do that would enable this
   without a new namespace. I'll outline it here. Make a minor update to
 the
   ext schema (making it 1.2.0) so we can do the following:
  
   property-placeholder evaluator=jexl
   default-properties
   property name=name value=value /
   /default-properties
   locationfile:///url/ext:location
   /property-placeholder
  
   The namespace handler then inserts a synthetic service dependency on a
   service of type PropertyProcessor with the service property
 type=jexl.
   This means the blueprint container would only be configured while the
   desired processor is available. Then we update the code where we do the
   processing to use the PropertyProcessor service instead of having it
   hardcoded.
  
   This solves my issues around correct modularity, your issues around
   programming model simplicity, and it would also allow us to plug other
   processors/evaluators such as groovy in the future very easily.
  
   Thoughts?
   Alasdair
  
   On 9 September 2011 10:39, Timothy Ward timothyjw...@apache.org
 wrote:
  
   
Alasdair,
   
Thanks for taking the time to write a test that answers my question.
 I
   had
a suspicion that this sort of thing would happen. It needs to be
  possible
for the blueprint bundle to behave consistently whether JEXL is
  installed
   or
not.
   
Regards,
   
Tim
   
 Date: Thu, 8 Sep 2011 23:26:18 +0100
 Subject: Re: [Release Discussion] ship maintenance releases of
application-0.2.2 / util-0.2.1 / blueprint-0.3.2 ?
 From: n...@apache.org
 To: dev@aries.apache.org

 Hi,

 So lets get real with an example to start illustrating my issues.
 We
   have
a
 release already and the release is used by people, quite a few
  people.
   We
 don't know what they are doing. I have written a test. The test
 uses
   the
 sample blueprint bundle. It contains the following blueprint xml:

 bean id=bar2 class=org.apache.aries.blueprint.sample.Bar

 property name=value value=${a+b}/

 /bean

 The setValue method takes a String. I have run these tests in two
  ways.
The
 first with jexl and the second without. If jexl isn't installed I
  get:

 ${a+b}

 when jexl is installed I get:

 0

 Irrespective of how useful this is to people who want the behaviour
  it
   is
a
 huge problem for those people who do NOT want this behaviour. It is
   easy
to
 say well don't install jexl then, but consider this. I have
 written
  a
 blueprint bundle that expects to have ${a+b} injected.  I deploy it
  in
one
 runtime and it works the way I expect. Now I drop it into Geronimo
  and
   I
get
 0 instead. So I now need to go back and rewrite my bundle to work
 in
 geronimo and I have two different bundles for each environment.
 This
  is
 wrong.

 As said before I think we need this enabled via a namespace