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 { ...@@ -264,7 +264,7 @@ public class IQOwnerHandler {
if (field != null) { if (field != null) {
final String value = field.getFirstValue(); final String value = field.getFirstValue();
booleanValue = ((value != null ? value : "1")); booleanValue = ((value != null ? value : "1"));
room.setCanOccupantsChangeSubject(("1".equals(booleanValue))); room.setCanOccupantsChangeSubject("1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue));
} }
field = completedForm.getField("muc#roomconfig_maxusers"); field = completedForm.getField("muc#roomconfig_maxusers");
...@@ -283,14 +283,14 @@ public class IQOwnerHandler { ...@@ -283,14 +283,14 @@ public class IQOwnerHandler {
if (field != null) { if (field != null) {
final String value = field.getFirstValue(); final String value = field.getFirstValue();
booleanValue = ((value != null ? value : "1")); booleanValue = ((value != null ? value : "1"));
room.setPublicRoom(("1".equals(booleanValue))); room.setPublicRoom(("1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue)));
} }
field = completedForm.getField("muc#roomconfig_persistentroom"); field = completedForm.getField("muc#roomconfig_persistentroom");
if (field != null) { if (field != null) {
final String value = field.getFirstValue(); final String value = field.getFirstValue();
booleanValue = ((value != null ? value : "1")); 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 // Delete the room from the DB if it's no longer persistent
if (room.isPersistent() && !isPersistent) { if (room.isPersistent() && !isPersistent) {
MUCPersistenceManager.deleteFromDB(room); MUCPersistenceManager.deleteFromDB(room);
...@@ -302,21 +302,21 @@ public class IQOwnerHandler { ...@@ -302,21 +302,21 @@ public class IQOwnerHandler {
if (field != null) { if (field != null) {
final String value = field.getFirstValue(); final String value = field.getFirstValue();
booleanValue = ((value != null ? value : "1")); booleanValue = ((value != null ? value : "1"));
room.setModerated(("1".equals(booleanValue))); room.setModerated(("1".equals(booleanValue) || "true".equalsIgnoreCase(booleanValue)));
} }
field = completedForm.getField("muc#roomconfig_membersonly"); field = completedForm.getField("muc#roomconfig_membersonly");
if (field != null) { if (field != null) {
final String value = field.getFirstValue(); final String value = field.getFirstValue();
booleanValue = ((value != null ? value : "1")); 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"); field = completedForm.getField("muc#roomconfig_allowinvites");
if (field != null) { if (field != null) {
final String value = field.getFirstValue(); final String value = field.getFirstValue();
booleanValue = ((value != null ? value : "1")); 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 { ...@@ -388,28 +388,28 @@ public class IQOwnerHandler {
if (field != null) { if (field != null) {
final String value = field.getFirstValue(); final String value = field.getFirstValue();
booleanValue = ((value != null ? value : "1")); 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"); field = completedForm.getField("x-muc#roomconfig_reservednick");
if (field != null) { if (field != null) {
final String value = field.getFirstValue(); final String value = field.getFirstValue();
booleanValue = ((value != null ? value : "1")); 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"); field = completedForm.getField("x-muc#roomconfig_canchangenick");
if (field != null) { if (field != null) {
final String value = field.getFirstValue(); final String value = field.getFirstValue();
booleanValue = ((value != null ? value : "1")); 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"); field = completedForm.getField("x-muc#roomconfig_registration");
if (field != null) { if (field != null) {
final String value = field.getFirstValue(); final String value = field.getFirstValue();
booleanValue = ((value != null ? value : "1")); 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 // Update the modification date to reflect the last time when the room's configuration
......
...@@ -89,7 +89,7 @@ public class LeafNode extends Node { ...@@ -89,7 +89,7 @@ public class LeafNode extends Node {
if ("pubsub#persist_items".equals(field.getVariable())) { if ("pubsub#persist_items".equals(field.getVariable())) {
values = field.getValues(); values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1"); 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())) { else if ("pubsub#max_payload_size".equals(field.getVariable())) {
values = field.getValues(); values = field.getValues();
...@@ -98,7 +98,7 @@ public class LeafNode extends Node { ...@@ -98,7 +98,7 @@ public class LeafNode extends Node {
else if ("pubsub#send_item_subscribe".equals(field.getVariable())) { else if ("pubsub#send_item_subscribe".equals(field.getVariable())) {
values = field.getValues(); values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1"); 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 { ...@@ -527,38 +527,38 @@ public abstract class Node {
else if ("pubsub#deliver_payloads".equals(field.getVariable())) { else if ("pubsub#deliver_payloads".equals(field.getVariable())) {
values = field.getValues(); values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1"); 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())) { else if ("pubsub#notify_config".equals(field.getVariable())) {
values = field.getValues(); values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1"); 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())) { else if ("pubsub#notify_delete".equals(field.getVariable())) {
values = field.getValues(); values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1"); 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())) { else if ("pubsub#notify_retract".equals(field.getVariable())) {
values = field.getValues(); values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1"); 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())) { else if ("pubsub#presence_based_delivery".equals(field.getVariable())) {
values = field.getValues(); values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1"); 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())) { else if ("pubsub#subscribe".equals(field.getVariable())) {
values = field.getValues(); values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1"); 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())) { else if ("pubsub#subscription_required".equals(field.getVariable())) {
// TODO Replace this variable for the one defined in the JEP (once one is defined) // TODO Replace this variable for the one defined in the JEP (once one is defined)
values = field.getValues(); values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1"); 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())) { else if ("pubsub#type".equals(field.getVariable())) {
values = field.getValues(); values = field.getValues();
......
...@@ -437,12 +437,12 @@ public class NodeSubscription { ...@@ -437,12 +437,12 @@ public class NodeSubscription {
if ("pubsub#deliver".equals(field.getVariable())) { if ("pubsub#deliver".equals(field.getVariable())) {
values = field.getValues(); values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1"); 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())) { else if ("pubsub#digest".equals(field.getVariable())) {
values = field.getValues(); values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1"); 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())) { else if ("pubsub#digest_frequency".equals(field.getVariable())) {
values = field.getValues(); values = field.getValues();
...@@ -459,7 +459,7 @@ public class NodeSubscription { ...@@ -459,7 +459,7 @@ public class NodeSubscription {
else if ("pubsub#include_body".equals(field.getVariable())) { else if ("pubsub#include_body".equals(field.getVariable())) {
values = field.getValues(); values = field.getValues();
booleanValue = (values.size() > 0 ? values.get(0) : "1"); 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())) { else if ("pubsub#show-values".equals(field.getVariable())) {
// Get the new list of presence states for which an entity wants to // 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