I’'m looking for an example how to create a password protected multiuserchat. Simple mucs to create works well.
Thanks
Markus
I’'m looking for an example how to create a password protected multiuserchat. Simple mucs to create works well.
Thanks
Markus
This example will work given that user4 is already created via the admin console.
I am still struglling with creating a room if create a user with via the api AccountManager? I must be missing a property in the form which I am still trying to figure out.
public void createMUC1() {
try {
// Create MultiUserChat for conference room EncrypedID.
muc1_cust = new MultiUserChat(xmppConnection, this.encryptedID + “@conference.localhost”);
muc1_cust.create(“user4”);
// Get the the room’'s configuration form
Form form = muc1_cust.getConfigurationForm();
// Create a new form to submit based on the original form
Form submitForm = form.createAnswerForm();
// Add default answers to the form to submit
for (Iterator fields = form.getFields(); fields.hasNext() {
FormField field = (FormField) fields.next();
if (!FormField.TYPE_HIDDEN.equals(field.getType()) && field.getVariable() != null) {
// Sets the default value as the answer
//System.out.println(“Setting field.getVariable()” + field.getVariable());
submitForm.setDefaultAnswer(field.getVariable());
}
}
// Overide defaults.
submitForm.setAnswer(“muc#roomconfig_roomname”, this.encryptedID);
submitForm.setAnswer(“muc#roomconfig_roomsecret”, jiveUserPassword);
submitForm.setAnswer(“muc#roomconfig_publicroom”, false);
submitForm.setAnswer(“muc#roomconfig_passwordprotectedroom”, true);
// Sets the new owner of the room
List owners = new ArrayList();
owners.add(this.encryptedID + “_SND@localhost”); // Smack
owners.add(this.encryptedID + “_REC@localhost”); // Xiff
// owners.add(“user3@localhost”);
owners.add(“user1@localhost”);
owners.add(“user4@localhost”);
owners.add(“user2@localhost”); // Spark IM for monitoring
owners.add(“userAA@localhost”); // Spark IM for monitoring
submitForm.setAnswer(“muc#roomconfig_roomowners”, owners);
muc1_cust.sendConfigurationForm(submitForm);
PacketFilter filter = new AndFilter(new PacketTypeFilter(Message.class),
new FromContainsFilter("@conference.localhost"));
PacketListener myListener = new PacketListener() {
public void processPacket(Packet packet) {
// Do something with the incoming packet here.
System.out.println(“processPacket reached”);
System.out.println(“MUC1 packet.toXML:” + packet.toXML());
}
};
// Register room listener
muc1_cust.addParticipantListener(myListener);
// Register the listener.
xmppConnection.addPacketListener(myListener, filter);
} catch (XMPPException gg) {
System.out.println("\n\n[ERROR:] - XMPP *** Server ERROR: " + gg + “\n\n”);
}
}