I used a data utility to add a user picker to my builder. I had to create a HashMap to contain all of the component properties that would otherwise be in the JCA tags.
HashMap<String,String> map = new HashMap<String,String>();
map.put("pickerId", "userPickerId");
map.put("hiddenId", "userId");
map.put("componentId", "userCompPickerId");
map.put("objectType", "wt.org.WTUser");
map.put("pickedAttributes", "fullName,name");
map.put("defaultValue", displayValue);
map.put("defaultHiddenValue", keyValue);
map.put("readOnlyPickerTextBox", "true");
map.put("pickerCallback", "userPickerCallBack");
map.put("showRoles", "false");
map.put("showSuggestion", "false");
map.put("suggestServiceKey", "userPicker");
map.put("multiSelect", "false");
PickerInputComponent pic = new PickerInputComponent("My User",displayValue, map);
pic.setColumnName(component_id);
pic.setRequired(AttributeDataUtilityHelper.isInputRequired(mc));
return pic;
We have a custom callback and such, but this works.