import java.io.PrintWriter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jivesoftware.util.ParamUtils;
import org.jivesoftware.wildfire.group.Group;
import org.jivesoftware.wildfire.group.GroupAlreadyExistsException;
import org.jivesoftware.wildfire.group.GroupManager;
import org.jivesoftware.wildfire.plugin.click2show.id.IdentifierGenerator;
import org.jivesoftware.wildfire.plugin.click2show.id.UUIDHexGenerator;
public class AddShareGroupHandler implements IHandler {
public void execute(HttpServletRequest request, HttpServletResponse response) throws Exception {
String description = ParamUtils.getParameter(request,“description”);
String displayname = ParamUtils.getParameter(request,“displayname”);
String showtype = ParamUtils.getParameter(request,“showtype”);
response.setContentType(“text/xml”);
PrintWriter out = response.getWriter();
String groupname = createShareGroup( description, displayname, showtype);
out.write(groupname);
}
private String createShareGroup(String description,
String displayname, String showtype)
throws GroupAlreadyExistsException {
IdentifierGenerator idGenerator = new UUIDHexGenerator(); //generator group id
String groupname = (String) idGenerator.generate();
Group newGroup = GroupManager.getInstance().createGroup(groupname);
if (newGroup == null) return “-1”; // occur error , return -1
if (description != null) {
newGroup.setDescription(description);
}
if ((!"".equals(showtype)) && (showtype != null) ){
if (“spefgroups”.equals(showtype)) {
newGroup.getProperties().put("sharedRoster.showInRoster ",
“onlyGroup”);
}
}
else {
newGroup.getProperties().put(“sharedRoster.showInRoster”, “nobody”);
}
if (displayname != null) {
newGroup.getProperties().put(“sharedRoster.displayName”,
displayname);
}
newGroup.getProperties().put(“sharedRoster.groupList”, “”);
return groupname;
}
}
/code
-zhuam