You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by oh...@apache.org on 2009/10/05 22:31:28 UTC
svn commit: r821995 - in
/commons/proper/configuration/branches/configuration2_experimental/src:
main/java/org/apache/commons/configuration2/base/Capabilities.java
test/java/org/apache/commons/configuration2/base/TestCapabilities.java
Author: oheger
Date: Mon Oct 5 20:31:28 2009
New Revision: 821995
URL: http://svn.apache.org/viewvc?rev=821995&view=rev
Log:
Capabilities now also work with interfaces inherited from super classes.
Modified:
commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/base/Capabilities.java
commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/base/TestCapabilities.java
Modified: commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/base/Capabilities.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/base/Capabilities.java?rev=821995&r1=821994&r2=821995&view=diff
==============================================================================
--- commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/base/Capabilities.java (original)
+++ commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/base/Capabilities.java Mon Oct 5 20:31:28 2009
@@ -19,6 +19,8 @@
import java.util.ArrayList;
import java.util.Collection;
+import org.apache.commons.lang.ClassUtils;
+
/**
* <p>
* A class for managing <em>capabilities</em>.
@@ -147,9 +149,9 @@
private static void extractOwnerCapabilities(Collection<Capability> caps,
Object owner)
{
- for (Class capCls : owner.getClass().getInterfaces())
+ for (Object capCls : ClassUtils.getAllInterfaces(owner.getClass()))
{
- caps.add(new Capability(capCls, owner));
+ caps.add(new Capability((Class) capCls, owner));
}
}
}
Modified: commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/base/TestCapabilities.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/base/TestCapabilities.java?rev=821995&r1=821994&r2=821995&view=diff
==============================================================================
--- commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/base/TestCapabilities.java (original)
+++ commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/base/TestCapabilities.java Mon Oct 5 20:31:28 2009
@@ -98,6 +98,21 @@
}
/**
+ * Tests whether super interfaces are taken into account when querying
+ * capabilities from the owner object.
+ */
+ public void testGetCapabilityFromOwnerInherited()
+ {
+ @SuppressWarnings("serial")
+ ConfigurationSource owner = new MapConfigurationSource()
+ {
+ };
+ Capabilities caps = new Capabilities(owner, null);
+ assertSame("Wrong source", owner, caps
+ .getCapability(ConfigurationSource.class));
+ }
+
+ /**
* Tests whether capabilities from the list can be obtained.
*/
public void testGetCapabilityFromList()