Maybe a Karaf guy could answer to my question ? ---------- Forwarded message ---------- From: Charles Moulliard <ch0...@gmail.com> Date: Tue, Jun 25, 2013 at 8:15 AM Subject: Inject constructor using Blueprint To: d...@aries.apache.org
Hi, Aries Blueprint project allows to inject constructors parameters using BeanArgumentImpl. Here is an example of such usage : BeanMetadataImpl beanMetadata = (BeanMetadataImpl) context.createMetadata(BeanMetadata.class); beanMetadata.setClassName("org.mycompany.MyFactoryBean"); beanMetadata.setFactoryMethod("doSomething"); beanMetadata.setId(id); BeanArgumentImpl argument = new BeanArgumentImpl(); argument.setIndex(0); argument.setValue(createValue(context, id)); beanMetadata.addArgument(argument); Unfortunately, with release 1.0 of Apache Blueprint, this class has been packaged with blueprint - parser which is a jar and not a bundle and even if I use wrap to generate a bundle, it cannot be used as such as we get on Apache Karaf a classcast exception java.lang.ClassCastException: org.apache.aries.blueprint.reflect.BeanMetadataImpl cannot be cast to org.apache.aries.blueprint.reflect.BeanMetadataImpl at org.kie.aries.blueprint.namespace.ReleaseIdElementParser.parseElement(ReleaseIdElementParser.java:47)[120:org.kie.aries.blueprint:6.0.0.20130624-2122] Question : How can we inject constructors parameters with Aries Blueprint 1.0 without using classes packaged under blueprint-parser ? Regards, -- Charles Moulliard Apache Committer / Architect @RedHat Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com -- Charles Moulliard Apache Committer / Architect @RedHat Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com