You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2009/11/19 13:45:08 UTC
svn commit: r882130 -
/labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AbstractListCrud.java
Author: simoneg
Date: Thu Nov 19 12:45:08 2009
New Revision: 882130
URL: http://svn.apache.org/viewvc?rev=882130&view=rev
Log:
Find overridden method independently of type parameters, to better support crappy generics
Modified:
labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AbstractListCrud.java
Modified: labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AbstractListCrud.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AbstractListCrud.java?rev=882130&r1=882129&r2=882130&view=diff
==============================================================================
--- labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AbstractListCrud.java (original)
+++ labs/magma/trunk/website-administration/src/main/java/org/apache/magma/website/admin/AbstractListCrud.java Thu Nov 19 12:45:08 2009
@@ -39,7 +39,7 @@
public HtmlProducer doShow() {
String listlink = null;
- if (isOverridden(AbstractListCrud.class, "doShowSub", property.getCollectionClass())) {
+ if (isOverridden(AbstractListCrud.class, "doShowSub")) {
listlink = "doShowSub";
}
ShowList sl = new ShowList(property.getCollectionClass(), (Collection)bean.handler().getValue(propertyName), listlink);
@@ -73,17 +73,24 @@
}
- protected boolean isOverridden(Class<?> me, String methodName, Class<?>... params) {
+ protected boolean isOverridden(Class<?> me, String methodName) {
Class<?> realclass = getClass();
Method m = null;
try {
- m = realclass.getMethod(methodName, params);
+ Method[] methods = realclass.getMethods();
+ for (Method method : methods) {
+ if (method.getName().equals(methodName)) {
+ Class<?> decin = m.getDeclaringClass();
+ if (!decin.equals(me)) {
+ if (me.isAssignableFrom(decin)) {
+ m = method;
+ }
+ }
+ }
+ }
} catch (Exception e) {
return false;
}
- if (m == null) return false;
- Class<?> decin = m.getDeclaringClass();
- if (decin.equals(me)) return false;
- return me.isAssignableFrom(decin);
+ return m != null;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org