On Dec 13, 2010, at 5:16 PM, tmortagne (SVN) wrote: > Author: tmortagne > Date: 2010-12-13 17:16:56 +0100 (Mon, 13 Dec 2010) > New Revision: 33366 > > Modified: > > platform/core/trunk/xwiki-component/xwiki-component-default/src/main/java/org/xwiki/component/embed/EmbeddableComponentManager.java > > platform/core/trunk/xwiki-component/xwiki-component-default/src/test/java/org/xwiki/component/embed/EmbeddableComponentManagerTest.java > Log: > XWIKI-5792: ComponentManager#hasComponent does not work if the component has > not already been lookuped > > Modified: > platform/core/trunk/xwiki-component/xwiki-component-default/src/main/java/org/xwiki/component/embed/EmbeddableComponentManager.java > =================================================================== > --- > platform/core/trunk/xwiki-component/xwiki-component-default/src/main/java/org/xwiki/component/embed/EmbeddableComponentManager.java > 2010-12-13 16:03:58 UTC (rev 33365) > +++ > platform/core/trunk/xwiki-component/xwiki-component-default/src/main/java/org/xwiki/component/embed/EmbeddableComponentManager.java > 2010-12-13 16:16:56 UTC (rev 33366) > @@ -93,7 +93,7 @@ > */ > public <T> boolean hasComponent(Class<T> role, String roleHint) > { > - return this.components.containsKey(new RoleHint<T>(role, roleHint)); > + return this.descriptors.containsKey(new RoleHint<T>(role, roleHint));
Isn't this what we used to have and you changed it because you wanted hasComponent to return true if the component had been instantiated vs the component had been registered, no? Thanks -Vincent > } > > /** > @@ -103,7 +103,7 @@ > */ > public <T> boolean hasComponent(Class<T> role) > { > - return this.components.containsKey(new RoleHint<T>(role)); > + return this.descriptors.containsKey(new RoleHint<T>(role)); > } > > /** > > Modified: > platform/core/trunk/xwiki-component/xwiki-component-default/src/test/java/org/xwiki/component/embed/EmbeddableComponentManagerTest.java > =================================================================== > --- > platform/core/trunk/xwiki-component/xwiki-component-default/src/test/java/org/xwiki/component/embed/EmbeddableComponentManagerTest.java > 2010-12-13 16:03:58 UTC (rev 33365) > +++ > platform/core/trunk/xwiki-component/xwiki-component-default/src/test/java/org/xwiki/component/embed/EmbeddableComponentManagerTest.java > 2010-12-13 16:16:56 UTC (rev 33366) > @@ -180,4 +180,18 @@ > parent.registerComponent(cd); > return parent; > } > + > + @Test > + public void testHasComponent() throws Exception > + { > + EmbeddableComponentManager ecm = new EmbeddableComponentManager(); > + > + DefaultComponentDescriptor<Role> d1 = new > DefaultComponentDescriptor<Role>(); > + d1.setRole(Role.class); > + d1.setRoleHint("default"); > + ecm.registerComponent(d1); > + > + Assert.assertTrue(ecm.hasComponent(Role.class)); > + Assert.assertTrue(ecm.hasComponent(Role.class, "default")); > + } > } _______________________________________________ devs mailing list devs@xwiki.org http://lists.xwiki.org/mailman/listinfo/devs