Author: channa Date: Mon Jul 14 22:44:44 2008 New Revision: 19279 URL: http://wso2.org/svn/browse/wso2?view=rev&revision=19279
Log: Adding a utility method that processes a given string and determines if unacceptable long contiguous string segments exist. Spaces are inserted if necessary to allow the browser to wrap this string. MASHUP-857 & MASHUP-469. Modified: trunk/mashup/java/modules/core/src/org/wso2/mashup/utils/MashupUtils.java trunk/mashup/java/modules/www/activity.jsp trunk/mashup/java/modules/www/cert_manager.jsp trunk/mashup/java/modules/www/index.jsp trunk/mashup/java/modules/www/mashup.jsp Modified: trunk/mashup/java/modules/core/src/org/wso2/mashup/utils/MashupUtils.java URL: http://wso2.org/svn/browse/wso2/trunk/mashup/java/modules/core/src/org/wso2/mashup/utils/MashupUtils.java?rev=19279&r1=19278&r2=19279&view=diff ============================================================================== --- trunk/mashup/java/modules/core/src/org/wso2/mashup/utils/MashupUtils.java (original) +++ trunk/mashup/java/modules/core/src/org/wso2/mashup/utils/MashupUtils.java Mon Jul 14 22:44:44 2008 @@ -1498,4 +1498,51 @@ } return true; } + + /** + * String segments longer than the longest allowed unbroken string will have spaces inserted + * into them, so that the browser can break them up. + * + * @param sourceText Text to be processed. + * @param maxUnbroken Maximum allowed unbroken string length. + * @return text not containing any string segment exceeding the constant length. + */ + public static String makeWrappable(String sourceText, int maxUnbroken) { + StringBuilder processedString; + boolean inserted = false; + + // Process only if the source string is longer than the max unbroken value. + if (sourceText.length() > maxUnbroken) { + processedString = new StringBuilder(); + // Breaking up string to identify longest unbroken segments, for space insertion. + String [] segments = sourceText.split("\\s"); + + // Process each segment separately. + for (int i = 0; i < segments.length; i++) { + if (segments[i].length() > maxUnbroken) { + StringBuilder processedSegment = new StringBuilder(segments[i]); + + // Insert spaces to allow the unbroken string to be wrapped at + for (int j = maxUnbroken; j < processedSegment.length(); j += maxUnbroken) { + processedSegment.insert(j, " "); + inserted = true; + } + segments[i] = processedSegment.toString(); + } + processedString.append(segments[i]); + + // Restoring spaces lost in split operation. + processedString.append(" "); + } + + // If no insertions were actually needed, return the original string. + if (inserted) { + return processedString.toString(); + } else { + return sourceText; + } + } else { + return sourceText; + } + } } Modified: trunk/mashup/java/modules/www/activity.jsp URL: http://wso2.org/svn/browse/wso2/trunk/mashup/java/modules/www/activity.jsp?rev=19279&r1=19278&r2=19279&view=diff ============================================================================== --- trunk/mashup/java/modules/www/activity.jsp (original) +++ trunk/mashup/java/modules/www/activity.jsp Mon Jul 14 22:44:44 2008 @@ -20,6 +20,7 @@ <%@ page import="org.wso2.mashup.webapp.utils.RegistryUtils" %> <%@ page import="java.util.*" %> <%@ page import="org.wso2.registry.session.UserRegistry" %> +<%@ page import="org.wso2.mashup.utils.MashupUtils" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %> <% @@ -107,7 +108,7 @@ .getContentString()%> </a> <% } else if (action.equals("commented")) { %> - <span class="inline-comment">"<%=result.getContentString() %>"</span> + <span class="inline-comment">"<%= MashupUtils.makeWrappable(result.getContentString(), 100) %>"</span> <% } %> </td> </tr> Modified: trunk/mashup/java/modules/www/cert_manager.jsp URL: http://wso2.org/svn/browse/wso2/trunk/mashup/java/modules/www/cert_manager.jsp?rev=19279&r1=19278&r2=19279&view=diff ============================================================================== --- trunk/mashup/java/modules/www/cert_manager.jsp (original) +++ trunk/mashup/java/modules/www/cert_manager.jsp Mon Jul 14 22:44:44 2008 @@ -324,9 +324,9 @@ %> <td><%=certs[x].getAlias()%> </td> - <td><%=certs[x].getIssuerDN()%> + <td><%=MashupUtils.makeWrappable(certs[x].getIssuerDN(), 60)%> </td> - <td><%=certs[x].getSubjectDN()%> + <td><%=MashupUtils.makeWrappable(certs[x].getSubjectDN(), 60)%> </td> <td><%=certs[x].getNotBefore()%> </td> Modified: trunk/mashup/java/modules/www/index.jsp URL: http://wso2.org/svn/browse/wso2/trunk/mashup/java/modules/www/index.jsp?rev=19279&r1=19278&r2=19279&view=diff ============================================================================== --- trunk/mashup/java/modules/www/index.jsp (original) +++ trunk/mashup/java/modules/www/index.jsp Mon Jul 14 22:44:44 2008 @@ -294,7 +294,7 @@ href="search.jsp?query=mashups&for=<%=result.getContentString()%>&tags=true"><%=result .getContentString()%></a> <% } else if (action.equals("commented")) { %> - <span class="inline-comment">"<%=result.getContentString() %>"</span> + <span class="inline-comment">"<%= MashupUtils.makeWrappable(result.getContentString(), 100) %>"</span> <% } %> </td> </tr> Modified: trunk/mashup/java/modules/www/mashup.jsp URL: http://wso2.org/svn/browse/wso2/trunk/mashup/java/modules/www/mashup.jsp?rev=19279&r1=19278&r2=19279&view=diff ============================================================================== --- trunk/mashup/java/modules/www/mashup.jsp (original) +++ trunk/mashup/java/modules/www/mashup.jsp Mon Jul 14 22:44:44 2008 @@ -635,7 +635,7 @@ .getFullName(request, commenter) %></a> (<%=commenter%>) </td> <td class="right" colspan="2"> - <%= text %> + <%= MashupUtils.makeWrappable(text, 100) %> <% if (author.equals(currentUser) || commenter.equals(currentUser) || RegistryUtils.isAdminRole(userRegistry)) { String shortCommentText; _______________________________________________ Mashup-dev mailing list [email protected] http://wso2.org/cgi-bin/mailman/listinfo/mashup-dev
