Commit ca167dc4 authored by Guus der Kinderen's avatar Guus der Kinderen

OF-1513: Pubsub forms should accept 1/0 as well as true/false for boolean representations.

parent e42d9550
......@@ -264,7 +264,7 @@ public class IQOwnerHandler {
if (field != null) {
final String value = field.getFirstValue();
booleanValue = ((value != null ? value : "1"));
room.setCanOccupantsChangeSubject(("1".equals(booleanValue)));
room.setCanOccupantsChangeSubject("1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue));
}
field = completedForm.getField("muc#roomconfig_maxusers");
......@@ -283,14 +283,14 @@ public class IQOwnerHandler {
if (field != null) {
final String value = field.getFirstValue();
booleanValue = ((value != null ? value : "1"));
room.setPublicRoom(("1".equals(booleanValue)));
room.setPublicRoom(("1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue)));
}
field = completedForm.getField("muc#roomconfig_persistentroom");
if (field != null) {
final String value = field.getFirstValue();
booleanValue = ((value != null ? value : "1"));
boolean isPersistent = ("1".equals(booleanValue));
boolean isPersistent = ("1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue));
// Delete the room from the DB if it's no longer persistent
if (room.isPersistent() && !isPersistent) {
MUCPersistenceManager.deleteFromDB(room);
......@@ -302,21 +302,21 @@ public class IQOwnerHandler {
if (field != null) {
final String value = field.getFirstValue();
booleanValue = ((value != null ? value : "1"));
room.setModerated(("1".equals(booleanValue)));
room.setModerated(("1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue)));
}
field = completedForm.getField("muc#roomconfig_membersonly");
if (field != null) {
final String value = field.getFirstValue();
booleanValue = ((value != null ? value : "1"));
presences.addAll(room.setMembersOnly(("1".equals(booleanValue))));
presences.addAll(room.setMembersOnly(("1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue))));
}
field = completedForm.getField("muc#roomconfig_allowinvites");
if (field != null) {
final String value = field.getFirstValue();
booleanValue = ((value != null ? value : "1"));
room.setCanOccupantsInvite(("1".equals(booleanValue)));
room.setCanOccupantsInvite(("1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue)));
}
......@@ -388,28 +388,28 @@ public class IQOwnerHandler {
if (field != null) {
final String value = field.getFirstValue();
booleanValue = ((value != null ? value : "1"));
room.setLogEnabled(("1".equals(booleanValue)));
room.setLogEnabled(("1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue)));
}
field = completedForm.getField("x-muc#roomconfig_reservednick");
if (field != null) {
final String value = field.getFirstValue();
booleanValue = ((value != null ? value : "1"));
room.setLoginRestrictedToNickname(("1".equals(booleanValue)));
room.setLoginRestrictedToNickname(("1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue)));
}
field = completedForm.getField("x-muc#roomconfig_canchangenick");
if (field != null) {
final String value = field.getFirstValue();
booleanValue = ((value != null ? value : "1"));
room.setChangeNickname(("1".equals(booleanValue)));
room.setChangeNickname(("1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue)));
}
field = completedForm.getField("x-muc#roomconfig_registration");
if (field != null) {
final String value = field.getFirstValue();
booleanValue = ((value != null ? value : "1"));
room.setRegistrationEnabled(("1".equals(booleanValue)));
room.setRegistrationEnabled(("1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue)));
}
// Update the modification date to reflect the last time when the room's configuration
......
......@@ -89,7 +89,7 @@ public class LeafNode extends Node {
if ("pubsub#persist_items".equals(field.getVariable())) {
values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1");
persistPublishedItems = "1".equals(booleanValue);
persistPublishedItems = "1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue);
}
else if ("pubsub#max_payload_size".equals(field.getVariable())) {
values = field.getValues();
......@@ -98,7 +98,7 @@ public class LeafNode extends Node {
else if ("pubsub#send_item_subscribe".equals(field.getVariable())) {
values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1");
sendItemSubscribe = "1".equals(booleanValue);
sendItemSubscribe = "1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue);
}
}
......
......@@ -527,38 +527,38 @@ public abstract class Node {
else if ("pubsub#deliver_payloads".equals(field.getVariable())) {
values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1");
deliverPayloads = "1".equals(booleanValue);
deliverPayloads = "1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue);
}
else if ("pubsub#notify_config".equals(field.getVariable())) {
values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1");
notifyConfigChanges = "1".equals(booleanValue);
notifyConfigChanges = "1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue);
}
else if ("pubsub#notify_delete".equals(field.getVariable())) {
values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1");
notifyDelete = "1".equals(booleanValue);
notifyDelete = "1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue);
}
else if ("pubsub#notify_retract".equals(field.getVariable())) {
values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1");
notifyRetract = "1".equals(booleanValue);
notifyRetract = "1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue);
}
else if ("pubsub#presence_based_delivery".equals(field.getVariable())) {
values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1");
presenceBasedDelivery = "1".equals(booleanValue);
presenceBasedDelivery = "1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue);
}
else if ("pubsub#subscribe".equals(field.getVariable())) {
values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1");
subscriptionEnabled = "1".equals(booleanValue);
subscriptionEnabled = "1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue);
}
else if ("pubsub#subscription_required".equals(field.getVariable())) {
// TODO Replace this variable for the one defined in the JEP (once one is defined)
values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1");
subscriptionConfigurationRequired = "1".equals(booleanValue);
subscriptionConfigurationRequired = "1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue);
}
else if ("pubsub#type".equals(field.getVariable())) {
values = field.getValues();
......
......@@ -437,12 +437,12 @@ public class NodeSubscription {
if ("pubsub#deliver".equals(field.getVariable())) {
values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1");
deliverNotifications = "1".equals(booleanValue);
deliverNotifications = "1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue);
}
else if ("pubsub#digest".equals(field.getVariable())) {
values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1");
usingDigest = "1".equals(booleanValue);
usingDigest = "1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue);
}
else if ("pubsub#digest_frequency".equals(field.getVariable())) {
values = field.getValues();
......@@ -459,7 +459,7 @@ public class NodeSubscription {
else if ("pubsub#include_body".equals(field.getVariable())) {
values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1");
includingBody = "1".equals(booleanValue);
includingBody = "1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue);
}
else if ("pubsub#show-values".equals(field.getVariable())) {
// Get the new list of presence states for which an entity wants to
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment