Greetings,

We work to fix this bug (http://sourceforge.net/p/dpp/bugs/857/) and would
like to write some JUnit test cases.
But we can't access the Roster.

We tried it like this:

   @Test
    public void testAddContact() {
        PicoBuilder picoBuilder = new PicoBuilder(new CompositeInjection(
            new ConstructorInjection(), new AnnotatedFieldInjection()))
            .withCaching().withLifecycle();
        MutablePicoContainer container = picoBuilder.build();
        new HTMLUIContextFactory().createComponents(container);
        StateFacade stateFacade = container.getComponent(StateFacade.class);
        Connection connection = stateFacade.getConnectionService()
            .getConnection();
        Roster roster = connection.getRoster();

        try {
            roster.createEntry("a...@def.ghi", "AB C", null);
            roster.createEntry("x...@def.ghi", "XY Z", null);
        } catch (XMPPException e) {
            // TODO Auto-generated catch block
        }

If we would have a roster object, we would not try to create it like above.

But if we try to create one, we get the following error:

org.picocontainer.injectors.AbstractInjector$UnsatisfiableDependenciesException:
de.fu_berlin.inf.dpp.ui.core_facades.StateFacade has unsatisfied
dependency: class
de.fu_berlin.inf.dpp.communication.connection.ConnectionHandler among
unsatisfiable dependencies: [[class
de.fu_berlin.inf.dpp.communication.connection.ConnectionHandler, class
de.fu_berlin.inf.dpp.net.xmpp.XMPPConnectionService, class
de.fu_berlin.inf.dpp.account.XMPPAccountStore]] where
org.picocontainer.DefaultPicoContainer@6513cf0:15<(empty) was the leaf
container being asked for dependencies.
        at
org.picocontainer.injectors.ConstructorInjector.getGreediestSatisfiableConstructor(ConstructorInjector.java:188)
        at
org.picocontainer.injectors.ConstructorInjector.getGreediestSatisfiableConstructor(ConstructorInjector.java:110)
        at
org.picocontainer.injectors.ConstructorInjector.access$100(ConstructorInjector.java:51)
        at
org.picocontainer.injectors.ConstructorInjector$1.run(ConstructorInjector.java:308)
        at
org.picocontainer.injectors.AbstractInjector$ThreadLocalCyclicDependencyGuard.observe(AbstractInjector.java:268)
        at
org.picocontainer.injectors.ConstructorInjector.getComponentInstance(ConstructorInjector.java:341)
        at
org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
        at
org.picocontainer.injectors.CompositeInjector.getComponentInstance(CompositeInjector.java:42)
        at
org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.getComponentInstance(AbstractInjectionFactory.java:56)
        at
org.picocontainer.behaviors.AbstractBehavior.getComponentInstance(AbstractBehavior.java:64)
        at 
org.picocontainer.behaviors.Stored.getComponentInstance(Stored.java:91)
        at
org.picocontainer.DefaultPicoContainer.getInstance(DefaultPicoContainer.java:691)
        at
org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:645)
        at
org.picocontainer.DefaultPicoContainer.getComponent(DefaultPicoContainer.java:670)
        at
de.fu_berlin.inf.dpp.ui.core_facades.StateFacadeTest.testAddContact(StateFacadeTest.java:24)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at
org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
        at
org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
        at
org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
        at
org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
        at
org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
        at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
        at
org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
        at
org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)
        at
org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
        at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
        at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
        at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
        at
org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)

any help would be appreciated.

Best regards

Ahmet-Serdar Karakaya
Mehmet Bayram


------------------------------------------------------------------------------
_______________________________________________
DPP-Devel mailing list
DPP-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dpp-devel

Reply via email to