Scarab commit: svn commit: r10482 - trunk/src/java/org/tigris/scarab/tools/ScarabRequestTool.java
| Newsgroups | gmane.comp.java.scarab.cvs |
|---|---|
| Message-ID | <[email protected]> |
Author: ronvoe122
Date: 2007-12-02 07:36:44-0800
New Revision: 10482
Modified:
trunk/src/java/org/tigris/scarab/tools/ScarabRequestTool.java
Log:
SCB2443: check if the value of sortColumn is valid for an issueSearch and not just a remainder of a user-search, executed while defining an issueSearch.
Modified: trunk/src/java/org/tigris/scarab/tools/ScarabRequestTool.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/tools/ScarabRequestTool.java?view=diff&rev=10482&p1=trunk/src/java/org/tigris/scarab/tools/ScarabRequestTool.java&p2=trunk/src/java/org/tigris/scarab/tools/ScarabRequestTool.java&r1=10481&r2=10482
==============================================================================
--- trunk/src/java/org/tigris/scarab/tools/ScarabRequestTool.java (original)
+++ trunk/src/java/org/tigris/scarab/tools/ScarabRequestTool.java 2007-12-02 07:36:44-0800
@@ -62,6 +62,7 @@
import javax.servlet.http.HttpSession;
+import org.apache.commons.lang.StringUtils;
import org.apache.fulcrum.intake.Intake;
import org.apache.fulcrum.intake.model.Field;
import org.apache.fulcrum.intake.model.Group;
@@ -1735,13 +1736,31 @@
}
String sortColumn = data.getParameters().getString("sortColumn");
- if(sortColumn != null) search.setSortAttributeId( Integer.valueOf(sortColumn) );
+ if(isValidIssueSearchSortColumn(sortColumn))
+ search.setSortAttributeId( Integer.valueOf(sortColumn) );
search.setSortInternalAttribute(data.getParameters().getString("sortInternal"));
search.setSortPolarity(data.getParameters().getString("sortPolarity"));
return search;
}
+ /**
+ * Check if a sortColumn is a sortColumn of an user-search (always a String)
+ * or a sortColumn of an issue-search (always an Integer)
+ * FIXME this method is a workaround for SCB2443
+ * a real fix would be, to use different names for the
+ * sortColumn-parameter in the issue search and the user search
+ * @param sortColumn
+ * @return
+ */
+ private boolean isValidIssueSearchSortColumn(String sortColumn)
+ {
+ return
+ sortColumn!=null
+ && !"".equals(sortColumn)
+ && StringUtils.isNumeric(sortColumn);
+ }
+
public IssueSearch getNewSearch() throws Exception, MaxConcurrentSearchException
{
ScarabUser user = (ScarabUser)data.getUser();