You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by mg...@apache.org on 2012/09/02 16:40:09 UTC

git commit: Improve the handling of nested inner classes in Classes.(name|simpleName)

Updated Branches:
  refs/heads/master 01b6dae91 -> 7e1aa8653


Improve the handling of nested inner classes in Classes.(name|simpleName)


Project: http://git-wip-us.apache.org/repos/asf/wicket/repo
Commit: http://git-wip-us.apache.org/repos/asf/wicket/commit/7e1aa865
Tree: http://git-wip-us.apache.org/repos/asf/wicket/tree/7e1aa865
Diff: http://git-wip-us.apache.org/repos/asf/wicket/diff/7e1aa865

Branch: refs/heads/master
Commit: 7e1aa86533b5347fcf598d75e3fce993324f8a43
Parents: 01b6dae
Author: Martin Tzvetanov Grigorov <mg...@apache.org>
Authored: Sun Sep 2 16:38:48 2012 +0200
Committer: Martin Tzvetanov Grigorov <mg...@apache.org>
Committed: Sun Sep 2 16:38:48 2012 +0200

----------------------------------------------------------------------
 .../java/org/apache/wicket/MarkupContainer.java    |    7 +---
 .../src/main/java/org/apache/wicket/Page.java      |    2 +-
 .../java/org/apache/wicket/util/lang/Classes.java  |   31 ++++++++-------
 .../org/apache/wicket/util/lang/ClassesTest.java   |   17 ++++++++-
 4 files changed, 35 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/wicket/blob/7e1aa865/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java b/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
index aafda67..58fc8a1 100644
--- a/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
+++ b/wicket-core/src/main/java/org/apache/wicket/MarkupContainer.java
@@ -679,12 +679,7 @@ public abstract class MarkupContainer extends Component implements Iterable<Comp
 				.isOutputMarkupContainerClassName();
 			if (outputClassName)
 			{
-				Class<?> klass = getClass();
-				while (klass.isAnonymousClass())
-				{
-					klass = klass.getSuperclass();
-				}
-				className = klass.getName();
+				className = Classes.name(getClass());
 				getResponse().write("<!-- MARKUP FOR ");
 				getResponse().write(className);
 				getResponse().write(" BEGIN -->");

http://git-wip-us.apache.org/repos/asf/wicket/blob/7e1aa865/wicket-core/src/main/java/org/apache/wicket/Page.java
----------------------------------------------------------------------
diff --git a/wicket-core/src/main/java/org/apache/wicket/Page.java b/wicket-core/src/main/java/org/apache/wicket/Page.java
index f7109ec..7ef7d2e 100644
--- a/wicket-core/src/main/java/org/apache/wicket/Page.java
+++ b/wicket-core/src/main/java/org/apache/wicket/Page.java
@@ -853,7 +853,7 @@ public abstract class Page extends MarkupContainer implements IRedirectListener,
 			}
 			getResponse().write("<!-- Page Class ");
 			getResponse().write(klass.getName());
-			getResponse().write(" -->\n");
+			getResponse().write(" END -->\n");
 		}
 	}
 

http://git-wip-us.apache.org/repos/asf/wicket/blob/7e1aa865/wicket-util/src/main/java/org/apache/wicket/util/lang/Classes.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/main/java/org/apache/wicket/util/lang/Classes.java b/wicket-util/src/main/java/org/apache/wicket/util/lang/Classes.java
index a702857..4eac9c4 100644
--- a/wicket-util/src/main/java/org/apache/wicket/util/lang/Classes.java
+++ b/wicket-util/src/main/java/org/apache/wicket/util/lang/Classes.java
@@ -34,9 +34,19 @@ public final class Classes
 	 *            The class
 	 * @return The class name
 	 */
-	public static String name(final Class<?> c)
+	public static String name(Class<?> c)
 	{
-		return (c != null) ? c.getName() : null;
+		String name = null;
+		if (c != null)
+		{
+			while (c.isAnonymousClass())
+			{
+				c = c.getSuperclass();
+			}
+			name = c.getName();
+		}
+
+		return name;
 	}
 
 	/**
@@ -46,23 +56,16 @@ public final class Classes
 	 *            The class
 	 * @return The class simple name
 	 */
-	public static String simpleName(final Class<?> c)
+	public static String simpleName(Class<?> c)
 	{
-		String simpleName;
+		String simpleName = null;
 		if (c != null)
 		{
-			if (c.isAnonymousClass())
-			{
-				simpleName = c.getSuperclass().getSimpleName();
-			}
-			else
+			while (c.isAnonymousClass())
 			{
-				simpleName = c.getSimpleName();
+				c = c.getSuperclass();
 			}
-		}
-		else
-		{
-			simpleName = null;
+			simpleName = c.getSimpleName();
 		}
 
 		return simpleName;

http://git-wip-us.apache.org/repos/asf/wicket/blob/7e1aa865/wicket-util/src/test/java/org/apache/wicket/util/lang/ClassesTest.java
----------------------------------------------------------------------
diff --git a/wicket-util/src/test/java/org/apache/wicket/util/lang/ClassesTest.java b/wicket-util/src/test/java/org/apache/wicket/util/lang/ClassesTest.java
index 9977c98..7b66f57 100644
--- a/wicket-util/src/test/java/org/apache/wicket/util/lang/ClassesTest.java
+++ b/wicket-util/src/test/java/org/apache/wicket/util/lang/ClassesTest.java
@@ -22,7 +22,7 @@ import org.junit.Assert;
 import org.junit.Test;
 
 /**
- * @since
+ * @since 1.5.8
  */
 public class ClassesTest extends Assert
 {
@@ -38,4 +38,19 @@ public class ClassesTest extends Assert
 		// anonymous interface impl
 		assertEquals("Object", Classes.simpleName(new Cloneable() {}.getClass()));
 	}
+
+	@Test
+	public void name() throws Exception
+	{
+
+		assertEquals("java.lang.String", Classes.name(String.class));
+		assertEquals("java.lang.String", Classes.name("".getClass()));
+
+		assertEquals("java.text.SimpleDateFormat", Classes.name(new SimpleDateFormat() {}.getClass()));
+
+		// anonymous interface impl
+		assertEquals("java.lang.Object", Classes.name(new Cloneable() {}.getClass()));
+	}
+
+
 }