This closes #435
This commit is contained in:
commit
7e80cc3586
|
@ -463,7 +463,7 @@ public class URISupport {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Given a key / value mapping, create and return a URI formatted query string that is valid and
|
* Given a key / value mapping, create and return a URI formatted query string that is valid and
|
||||||
* can be appended to a URI.
|
* can be appended to a URI. Query parameters in the string are sorted by key.
|
||||||
*
|
*
|
||||||
* @param options The Mapping that will create the new Query string.
|
* @param options The Mapping that will create the new Query string.
|
||||||
* @return a URI formatted query string.
|
* @return a URI formatted query string.
|
||||||
|
@ -472,9 +472,12 @@ public class URISupport {
|
||||||
public static String createQueryString(Map<String, ? extends Object> options) throws URISyntaxException {
|
public static String createQueryString(Map<String, ? extends Object> options) throws URISyntaxException {
|
||||||
try {
|
try {
|
||||||
if (options.size() > 0) {
|
if (options.size() > 0) {
|
||||||
StringBuffer rc = new StringBuffer();
|
StringBuilder rc = new StringBuilder();
|
||||||
boolean first = true;
|
boolean first = true;
|
||||||
for (String key : options.keySet()) {
|
List<String> keys = new ArrayList<String>();
|
||||||
|
keys.addAll(options.keySet());
|
||||||
|
Collections.sort(keys);
|
||||||
|
for (String key : keys) {
|
||||||
if (first) {
|
if (first) {
|
||||||
first = false;
|
first = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,12 +114,12 @@ public class URIParserTest {
|
||||||
System.out.println("queryString2: " + queryString);
|
System.out.println("queryString2: " + queryString);
|
||||||
Assert.assertEquals("key1=value1", queryString);
|
Assert.assertEquals("key1=value1", queryString);
|
||||||
|
|
||||||
query.put("key2", "value2");
|
query.put("key3", "value3");
|
||||||
queryString = URISupport.createQueryString(query);
|
queryString = URISupport.createQueryString(query);
|
||||||
System.out.println("queryString3: " + queryString);
|
System.out.println("queryString3: " + queryString);
|
||||||
Assert.assertEquals("key1=value1&key2=value2", queryString);
|
Assert.assertEquals("key1=value1&key3=value3", queryString);
|
||||||
|
|
||||||
query.put("key3", "value3");
|
query.put("key2", "value2");
|
||||||
queryString = URISupport.createQueryString(query);
|
queryString = URISupport.createQueryString(query);
|
||||||
System.out.println("queryString4: " + queryString);
|
System.out.println("queryString4: " + queryString);
|
||||||
Assert.assertEquals("key1=value1&key2=value2&key3=value3", queryString);
|
Assert.assertEquals("key1=value1&key2=value2&key3=value3", queryString);
|
||||||
|
|
Loading…
Reference in New Issue