diff --git a/source/org/jivesoftware/smack/util/Cache.java b/source/org/jivesoftware/smack/util/Cache.java
index ec282c054..009e23b8a 100644
--- a/source/org/jivesoftware/smack/util/Cache.java
+++ b/source/org/jivesoftware/smack/util/Cache.java
@@ -46,7 +46,7 @@ import java.util.*;
*
* @author Matt Tucker
*/
-class Cache implements Map {
+public class Cache implements Map {
/**
* The map the keys and values are stored in.
diff --git a/source/org/jivesoftware/smackx/search/SimpleUserSearch.java b/source/org/jivesoftware/smackx/search/SimpleUserSearch.java
index 50e63b29e..9566a66dd 100644
--- a/source/org/jivesoftware/smackx/search/SimpleUserSearch.java
+++ b/source/org/jivesoftware/smackx/search/SimpleUserSearch.java
@@ -83,6 +83,7 @@ class SimpleUserSearch extends IQ {
protected void parseItems(XmlPullParser parser) throws Exception {
ReportedData data = new ReportedData();
+ data.addColumn(new ReportedData.Column("JID", "jid", "text-single"));
boolean done = false;
diff --git a/source/org/jivesoftware/smackx/search/UserSearch.java b/source/org/jivesoftware/smackx/search/UserSearch.java
index 662031ac2..993ac59e1 100644
--- a/source/org/jivesoftware/smackx/search/UserSearch.java
+++ b/source/org/jivesoftware/smackx/search/UserSearch.java
@@ -211,7 +211,21 @@ public class UserSearch extends IQ {
if (eventType == XmlPullParser.START_TAG && !parser.getNamespace().equals("jabber:x:data")) {
String name = parser.getName();
FormField field = new FormField(name);
- field.setLabel(name);
+
+ // Handle hard coded values.
+ if(name.equals("first")){
+ field.setLabel("First Name");
+ }
+ else if(name.equals("last")){
+ field.setLabel("Last Name");
+ }
+ else if(name.equals("email")){
+ field.setLabel("Email Address");
+ }
+ else if(name.equals("nick")){
+ field.setLabel("Nickname");
+ }
+
field.setType(FormField.TYPE_TEXT_SINGLE);
dataForm.addField(field);
}
diff --git a/source/org/jivesoftware/smackx/search/UserSearchManager.java b/source/org/jivesoftware/smackx/search/UserSearchManager.java
index f33567983..50c8ff67d 100644
--- a/source/org/jivesoftware/smackx/search/UserSearchManager.java
+++ b/source/org/jivesoftware/smackx/search/UserSearchManager.java
@@ -44,28 +44,26 @@ import java.util.List;
public class UserSearchManager {
private XMPPConnection con;
- private String searchService;
private UserSearch userSearch;
/**
* Creates a new UserSearchManager.
*
* @param con the XMPPConnection to use.
- * @param searchService the name of the search service. (ex. search.jivesoftware.com)
*/
- public UserSearchManager(XMPPConnection con, String searchService) {
+ public UserSearchManager(XMPPConnection con) {
this.con = con;
- this.searchService = searchService;
userSearch = new UserSearch();
}
/**
* Returns the form to fill out to perform a search.
*
+ * @param searchService the search service to query.
* @return the form to fill out to perform a search.
* @throws XMPPException thrown if a server error has occurred.
*/
- public Form getSearchForm() throws XMPPException {
+ public Form getSearchForm(String searchService) throws XMPPException {
return userSearch.getSearchForm(con, searchService);
}
@@ -74,13 +72,15 @@ public class UserSearchManager {
* in the form of ReportedData
*
* @param searchForm the Form
to submit for searching.
+ * @param searchService the name of the search service to use.
* @return the ReportedData returned by the server.
* @throws XMPPException thrown if a server error has occurred.
*/
- public ReportedData getSearchResults(Form searchForm) throws XMPPException {
+ public ReportedData getSearchResults(Form searchForm, String searchService) throws XMPPException {
return userSearch.sendSearchForm(con, searchForm, searchService);
}
+
/**
* Returns a collection of search services found on the server.
*
@@ -100,4 +100,5 @@ public class UserSearchManager {
}
return searchServices;
}
+
}