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