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