Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/model/TracSearch.java')
-rw-r--r--org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/model/TracSearch.java26
1 files changed, 26 insertions, 0 deletions
diff --git a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/model/TracSearch.java b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/model/TracSearch.java
index bad670bde..8dfc77e6c 100644
--- a/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/model/TracSearch.java
+++ b/org.eclipse.mylyn.trac.core/src/org/eclipse/mylyn/internal/trac/core/model/TracSearch.java
@@ -27,6 +27,7 @@ import org.eclipse.mylyn.commons.core.StatusHandler;
import org.eclipse.mylyn.internal.trac.core.TracCorePlugin;
import org.eclipse.mylyn.internal.trac.core.client.ITracClient;
import org.eclipse.mylyn.internal.trac.core.model.TracSearchFilter.CompareOperator;
+import org.eclipse.osgi.util.NLS;
/**
* Represents a Trac search. A search can have multiple {@link TracSearchFilter}s that all need to match.
@@ -43,6 +44,8 @@ public class TracSearch {
private boolean ascending = true;
+ private int max = -1;
+
public TracSearch(String queryParameter) {
fromUrl(queryParameter);
}
@@ -101,6 +104,10 @@ public class TracSearch {
sb.append("&desc=1"); //$NON-NLS-1$
}
}
+ if (max != -1) {
+ sb.append("&max="); //$NON-NLS-1$
+ sb.append(max);
+ }
for (TracSearchFilter filter : filterByFieldName.values()) {
sb.append("&"); //$NON-NLS-1$
sb.append(filter.getFieldName());
@@ -135,6 +142,10 @@ public class TracSearch {
// no results will be returned)
sb.append("&order=id"); //$NON-NLS-1$
}
+ if (max != -1) {
+ sb.append("&max="); //$NON-NLS-1$
+ sb.append(max);
+ }
for (TracSearchFilter filter : filterByFieldName.values()) {
for (String value : filter.getValues()) {
@@ -169,6 +180,13 @@ public class TracSearch {
setAscending(!"1".equals(value)); //$NON-NLS-1$
} else if ("group".equals(key) || "groupdesc".equals(key) || "verbose".equals(key)) { //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
// ignore these parameters
+ } else if ("max".equals(key)) { //$NON-NLS-1$
+ try {
+ setMax(Integer.parseInt(value));
+ } catch (NumberFormatException e) {
+ StatusHandler.log(new Status(IStatus.WARNING, TracCorePlugin.ID_PLUGIN, NLS.bind(
+ "Illegal format in URL, expected a number ''{0}''", value), e)); //$NON-NLS-1$
+ }
} else {
addFilter(key, value);
}
@@ -180,4 +198,12 @@ public class TracSearch {
}
}
+ public int getMax() {
+ return max;
+ }
+
+ public void setMax(int max) {
+ this.max = max;
+ }
+
}

Back to the top