use of org.matrix.androidsdk.rest.model.bingrules.Condition in project matrix-android-sdk by matrix-org.
the class ConditionDeserializerTest method testUnknownKind.
@Test
public void testUnknownKind() {
String conditionJson = "{'kind': 'strange_unknown_kind'}";
Condition condition = gson.fromJson(conditionJson, Condition.class);
assertNotNull(condition);
}
use of org.matrix.androidsdk.rest.model.bingrules.Condition in project matrix-android-sdk by matrix-org.
the class ConditionDeserializerTest method testDeviceCondition.
@Test
public void testDeviceCondition() {
String conditionJson = "{'kind': 'device', 'profile_tag': 'proftag1'}";
Condition condition = gson.fromJson(conditionJson, Condition.class);
assertTrue(condition instanceof DeviceCondition);
DeviceCondition deviceCondition = (DeviceCondition) condition;
assertEquals("proftag1", deviceCondition.profileTag);
}
use of org.matrix.androidsdk.rest.model.bingrules.Condition in project matrix-android-sdk by matrix-org.
the class ConditionDeserializer method deserialize.
@Override
public Condition deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
Condition condition = null;
JsonObject jsonObject = json.getAsJsonObject();
JsonElement kindElement = jsonObject.get("kind");
if (null != kindElement) {
String kind = kindElement.getAsString();
if (null != kind) {
switch(kind) {
case Condition.KIND_EVENT_MATCH:
condition = context.deserialize(json, EventMatchCondition.class);
break;
case Condition.KIND_DEVICE:
condition = context.deserialize(json, DeviceCondition.class);
break;
case Condition.KIND_CONTAINS_DISPLAY_NAME:
condition = context.deserialize(json, ContainsDisplayNameCondition.class);
break;
case Condition.KIND_ROOM_MEMBER_COUNT:
condition = context.deserialize(json, RoomMemberCountCondition.class);
break;
case Condition.KIND_SENDER_NOTIFICATION_PERMISSION:
condition = context.deserialize(json, SenderNotificationPermissionCondition.class);
break;
default:
Log.e(LOG_TAG, "## deserialize() : unsupported kind " + kind + " with value " + json);
condition = context.deserialize(json, UnknownCondition.class);
break;
}
}
}
return condition;
}
use of org.matrix.androidsdk.rest.model.bingrules.Condition in project matrix-android-sdk by matrix-org.
the class ConditionDeserializerTest method testEventMatchCondition.
@Test
public void testEventMatchCondition() {
String conditionJson = "{'kind': 'event_match', 'key': 'key1', 'pattern': 'pattern1'}";
Condition condition = gson.fromJson(conditionJson, Condition.class);
assertTrue(condition instanceof EventMatchCondition);
EventMatchCondition eventMatchCondition = (EventMatchCondition) condition;
assertEquals("key1", eventMatchCondition.key);
assertEquals("pattern1", eventMatchCondition.pattern);
}
use of org.matrix.androidsdk.rest.model.bingrules.Condition in project matrix-android-sdk by matrix-org.
the class ConditionDeserializerTest method testContainsDisplayNameCondition.
@Test
public void testContainsDisplayNameCondition() {
String conditionJson = "{'kind': 'contains_display_name'}";
Condition condition = gson.fromJson(conditionJson, Condition.class);
assertTrue(condition instanceof ContainsDisplayNameCondition);
}
Aggregations