summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--base/common/src/org/dogtagpki/tps/msg/ExtendedLoginRequestMsg.java31
1 files changed, 21 insertions, 10 deletions
diff --git a/base/common/src/org/dogtagpki/tps/msg/ExtendedLoginRequestMsg.java b/base/common/src/org/dogtagpki/tps/msg/ExtendedLoginRequestMsg.java
index d776fe1cd..e90449650 100644
--- a/base/common/src/org/dogtagpki/tps/msg/ExtendedLoginRequestMsg.java
+++ b/base/common/src/org/dogtagpki/tps/msg/ExtendedLoginRequestMsg.java
@@ -18,8 +18,10 @@
package org.dogtagpki.tps.msg;
import java.io.UnsupportedEncodingException;
+import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
+import java.util.List;
import java.util.Set;
import org.dogtagpki.tps.main.Util;
@@ -45,30 +47,39 @@ public class ExtendedLoginRequestMsg extends TPSMessage {
@Override
public String encode() {
- if (!params.isEmpty()) {
+ List<String> orderedParams = new ArrayList<String>();
- int i = 0;
+ //The UID param will always be first in the list
+ if (!params.isEmpty()) {
+ String cur = null;
for (Iterator<String> iter = params.iterator(); iter.hasNext();) {
-
- String curParam = null;
-
try {
- curParam = Util.uriEncode(iter.next());
+ cur = Util.uriEncode(iter.next());
} catch (UnsupportedEncodingException e) {
- curParam = null;
+ cur = null;
}
+ if (cur != null && cur.length() > 0) {
+ if (cur.contains("UID")) {
+ orderedParams.add(0, cur);
+ } else {
+ orderedParams.add(cur);
+ }
+ }
+ }
+
+ int i = 0;
+ for (Iterator<String> iter = orderedParams.iterator(); iter.hasNext();) {
+ String curParam = iter.next();
if (curParam != null && curParam.length() > 0) {
- String name = /*"&" + */ REQUIRED_PARAMETER_NAME + Integer.toString(i++);
+ String name = /*"&" + */REQUIRED_PARAMETER_NAME + Integer.toString(i++);
String value = curParam;
put(name, value);
}
-
}
-
}
return super.encode();