Thx for the trick JB. Work now.

Here is what I did

@RunWith(JUnit4TestRunner.class)
public class KieSpringOnKarafTest {

    protected static final transient Logger LOG =
LoggerFactory.getLogger(KieSpringOnKarafTest.class);
    protected static final String DroolsVersion = "6.0.0-SNAPSHOT";

    protected OsgiBundleXmlApplicationContext applicationContext;

    @Inject
    protected BundleContext bc;

    @Before
    public void init() {
        applicationContext = createApplicationContext();
        assertNotNull("Should have created a valid spring context",
applicationContext);
    }

    protected void refresh() {
        applicationContext.setBundleContext(bc);
        applicationContext.refresh();
    }

    protected OsgiBundleXmlApplicationContext createApplicationContext() {
        return new OsgiBundleXmlApplicationContext(new
String[]{"org/kie/spring/kie-beans.xml"});
    }

    @Test
    public void testKContainer() throws Exception {
        refresh();
        KieContainer kieContainer = (KieContainer)
applicationContext.getBean("defaultContainer");
        assertNotNull(kieContainer);
        System.out.println("kieContainer.getReleaseId() ==
"+kieContainer.getReleaseId());
    }


On Mon, Jun 10, 2013 at 6:39 PM, Jean-Baptiste Onofré <[email protected]>wrote:

> Try to put @Before to init and call the method before the test.
>
> Regards
> JB
>
>
> On 06/10/2013 06:30 PM, Charles Moulliard wrote:
>
>> Been able to figure out the issue. Thx for your help.
>>
>> I get now another exception with this code. The BundleContext object is
>> null when I tried to add it to the applicationContext. According to Pax
>> Exam, it should be injected automatically. Is it process after calling
>> the constructor of the class ?
>> I use pax exam 2.6.0
>>
>> @RunWith(JUnit4TestRunner.**class)
>> public class KieSpringOnKarafTest extends KieSpringIntegrationTestSuppor*
>> *t {
>>
>>      protected static final transient Logger LOG =
>> LoggerFactory.getLogger(**KieSpringOnKarafTest.class);
>>      protected OsgiBundleXmlApplicationContex**t applicationContext;
>>
>>      @Inject
>>      protected BundleContext bc;
>>
>>      public KieSpringOnKarafTest () {
>>          applicationContext = createApplicationContext();
>>          assertNotNull("Should have created a valid spring context",
>> applicationContext);
>>          // applicationContext.**setBundleContext(bc); // BundleContext
>> is
>> NULL
>>          applicationContext.refresh();
>>      }
>>
>>      protected OsgiBundleXmlApplicationContex**t
>> createApplicationContext() {
>>          return new OsgiBundleXmlApplicationContex**t(new
>> String[]{"org/kie/spring/kie-**beans.xml"});
>>      }
>>
>>
>>
>> On Sun, Jun 9, 2013 at 9:20 PM, Andreas Pieber <[email protected]
>> <mailto:[email protected]>> wrote:
>>
>>     to use "versionAsInProject"  you need to add
>>
>>     <build>
>>        <plugins>
>>          <plugin>
>>            <groupId>org.apache.**servicemix.tooling</groupId>
>>            <artifactId>depends-maven-**plugin</artifactId>
>>            <version>1.2</version>
>>            <executions>
>>              <execution>
>>                <id>generate-depends-file</id>
>>                <goals>
>>                  <goal>generate-depends-file</**goal>
>>                </goals>
>>              </execution>
>>            </executions>
>>          </plugin>
>>        </plugins>
>>     </build>
>>
>>
>>
>>     On Sun, Jun 9, 2013 at 3:56 PM, Charles Moulliard <[email protected]
>>     <mailto:[email protected]>> wrote:
>>
>>         What do you mean by "extracted" the versions ? SMX doc is not
>>         really verbose
>>         (http://servicemix.apache.org/**docs/4.5.x/developers-guide/**
>> writing-tests.html<http://servicemix.apache.org/docs/4.5.x/developers-guide/writing-tests.html>
>> )
>>         but my code looks like what we do with camel, karaf, ....
>>
>>
>>         On Sun, Jun 9, 2013 at 12:59 PM, Andreas Pieber
>>         <[email protected] <mailto:[email protected]>> wrote:
>>
>>             Have you extracted the versions using the service mix plugin
>>             as described in the documentation? Is the version.
>>             Properties generated correctly?
>>
>>             Kind regards, Andreas
>>
>>             On 9 Jun 2013 12:46, "Charles Moulliard" <[email protected]
>>             <mailto:[email protected]>> wrote:
>>              >
>>              > Hi,
>>              >
>>              > I get this pax exam (maven error) in an unit test which
>>             was working previously. Here is also the pom file. What
>>             should I do in the pom file definition to avoid this error
>>             
>> (https://gist.github.com/**cmoulliard/**49e4ef4c871d48bba550<https://gist.github.com/cmoulliard/49e4ef4c871d48bba550>
>> )
>>              >
>>              > java.lang.RuntimeException: Could not resolve version for
>>             groupId:org.apache.karaf artifactId:apache-karaf by reading
>>             the dependency information generated by maven.
>>              > at
>>             org.ops4j.pax.exam.MavenUtils.**
>> getArtifactVersion(MavenUtils.**java:78)
>>              > at
>>             org.ops4j.pax.exam.MavenUtils$**1.getVersion(MavenUtils.java:
>> **100)
>>              > at
>>             org.ops4j.pax.exam.options.**MavenArtifactUrlReference.**
>> version(**MavenArtifactUrlReference.**java:110)
>>              > at
>>             org.ops4j.pax.exam.options.**MavenArtifactUrlReference.**
>> versionAsInProject(**MavenArtifactUrlReference.**java:118)
>>              >
>>              > Class
>>              >
>>              > import static
>>             org.apache.karaf.tooling.exam.**options.**
>> KarafDistributionOption.*;
>>              >
>>              > ...
>>              >
>>              >     @Configuration
>>              >     public static Option[] configure() {
>>              >         return new Option[]{
>>              >
>>             karafDistributionConfiguration**().frameworkUrl(
>>              >
>>             maven().groupId("org.apache.**karaf").artifactId("apache-**
>> karaf").type("tar.gz").**versionAsInProject())
>>              >
>>             .karafVersion(MavenUtils.**getArtifactVersion("org.**
>> apache.karaf",
>>             "apache-karaf")).name("Apache Karaf")
>>              >                         .unpackDirectory(new
>>             File("target/exam/unpack/")),
>>              >
>>              >                 keepRuntimeFolder(),
>>              >
>>              > ...
>>              >
>>              > Pom file
>>              >
>>              > Regards,
>>              >
>>              > --
>>              > Charles Moulliard
>>              > Apache Committer / Architect (RedHat)
>>              > Twitter : @cmoulliard | Blog :
>> http://cmoulliard.blogspot.com
>>              >
>>
>>
>>
>>
>>         --
>>         Charles Moulliard
>>         Apache Committer / Sr. Enterprise Architect (RedHat)
>>         Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com
>>
>>
>>
>>
>>
>> --
>> Charles Moulliard
>> Apache Committer / Sr. Enterprise Architect (RedHat)
>> Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com
>>
>>
> --
> Jean-Baptiste Onofré
> [email protected]
> http://blog.nanthrax.net
> Talend - http://www.talend.com
>



-- 
Charles Moulliard
Apache Committer / Sr. Enterprise Architect (RedHat)
Twitter : @cmoulliard | Blog : http://cmoulliard.blogspot.com

Reply via email to