On Mon, Dec 13, 2010 at 17:25, Vincent Massol <[email protected]> wrote:
>
> 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?
No I would never do that, I actually remember that I fixed the same
thing already in other places ;)
Looking at the components instances cache does not make any sense.
>
> 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
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
>
--
Thomas Mortagne
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs