You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@wicket.apache.org by jd...@apache.org on 2006/10/19 23:04:13 UTC

svn commit: r465883 - /incubator/wicket/trunk/wicket/src/main/java/wicket/util/string/Strings.java

Author: jdonnerstag
Date: Thu Oct 19 14:04:12 2006
New Revision: 465883

URL: http://svn.apache.org/viewvc?view=rev&rev=465883
Log:
improve handling of null parameters in Strings.join()

Modified:
    incubator/wicket/trunk/wicket/src/main/java/wicket/util/string/Strings.java

Modified: incubator/wicket/trunk/wicket/src/main/java/wicket/util/string/Strings.java
URL: http://svn.apache.org/viewvc/incubator/wicket/trunk/wicket/src/main/java/wicket/util/string/Strings.java?view=diff&rev=465883&r1=465882&r2=465883
==============================================================================
--- incubator/wicket/trunk/wicket/src/main/java/wicket/util/string/Strings.java (original)
+++ incubator/wicket/trunk/wicket/src/main/java/wicket/util/string/Strings.java Thu Oct 19 14:04:12 2006
@@ -412,24 +412,29 @@
 		else
 		{
 			// two or more elements
-
 			StringBuilder buff = new StringBuilder(128);
-			buff.append(fragments[0]);
+			if (fragments[0] != null)
+			{
+				buff.append(fragments[0]);
+			}
 			for (int i = 1; i < fragments.length; i++)
 			{
-				boolean lhsClosed = fragments[i - 1].endsWith(separator);
-				boolean rhsClosed = fragments[i].startsWith(separator);
-				if (lhsClosed && rhsClosed)
-				{
-					buff.append(fragments[i].substring(1));
-				}
-				else if (!lhsClosed && !rhsClosed)
-				{
-					buff.append(separator).append(fragments[i]);
-				}
-				else
+				if ((fragments[i - 1] != null)  || (fragments[i] != null))
 				{
-					buff.append(fragments[i]);
+					boolean lhsClosed = fragments[i - 1].endsWith(separator);
+					boolean rhsClosed = fragments[i].startsWith(separator);
+					if (lhsClosed && rhsClosed)
+					{
+						buff.append(fragments[i].substring(1));
+					}
+					else if (!lhsClosed && !rhsClosed)
+					{
+						buff.append(separator).append(fragments[i]);
+					}
+					else
+					{
+						buff.append(fragments[i]);
+					}
 				}
 			}
 			return buff.toString();