@Override public void handleClientRequest(User user, ISFSObject isfso) { trace("isplay: " + user.getVariable("isplay")); Boolean isplay = user.getVariable("isplay").getBoolValue(); if (isplay == true) { if (user.getVariable("ischuong").getBoolValue()) { ISFSObject obj = new SFSObject(); obj.putBool("status", false); obj.putUtfString("message", "Chương không có quyền đặt tiền"); send("betgame", obj, user); } else { Double bet = 0.0; bet = isfso.getDouble("betmoney"); trace(bet); SFSUserVariable money = SFSUserVariable.newInstance("bet", bet); try { user.setVariable(money); } catch (SFSVariableException ex) { } trace("Thong tin user sau bet game: " + user.getVariable("bet")); ISFSObject obj = new SFSObject(); obj.putBool("status", true); obj.putInt("betid", user.getId()); obj.putDouble("betmoney", bet); send("betgame", obj, this.getParentExtension().getParentRoom().getUserList()); } } else { ISFSObject obj = new SFSObject(); obj.putBool("status", false); obj.putUtfString("message", "Không có quyền chơi, chờ ván sau"); send("betgame", obj, user); } }
@Test public void testDeserializeCustom() { SFSSerializer sfsSerializer = new SFSSerializer(); ISFSObject entityObj = new SFSObject(); entityObj.putInt("intField", 10); ISFSArray subArray = new SFSArray(); ISFSArray subCustomArray = new SFSArray(); SFSObject subObj1 = new SFSObject(); SFSObject subCustomObj = new SFSObject(); subObj1.putLong("longField", 30L); subCustomObj.putLong("longField", 99L); subArray.addSFSObject(subObj1); subCustomArray.addSFSObject(subCustomObj); entityObj.putSFSArray("wildcardList", subArray); entityObj.putSFSArray("wildcardedListCustom", subCustomArray); Entity entity = new Entity(); sfsSerializer.deserialize(entity, entityObj); assertNotNull("Wildcarded deserialized list must not be null!", entity.getWildcardList()); assertFalse( "Wildcarded deserialized list must not be empty!", entity.getWildcardList().isEmpty()); assertEquals(30L, ((SubEntity) entity.getWildcardList().get(0)).getLongField().longValue()); assertEquals( 99L, ((SubEntity) entity.getWildcardedListCustom().get(0)).getLongField().longValue()); }
@Test public void testDeserialize() { SFSSerializer sfsSerializer = new SFSSerializer(); ISFSObject subEntityObj = new SFSObject(); subEntityObj.putLong("longField", 20L); ISFSObject entityObj = new SFSObject(); entityObj.putInt("intField", 10); entityObj.putSFSObject("subEntity", subEntityObj); entityObj.putUtfString("notDeserializable", "value1"); entityObj.putUtfString("notSerializable", "value2"); entityObj.putUtfString("enumField", "white"); entityObj.putUtfString("changedName", "changedValue"); entityObj.putUtfString("fieldWithoutGetter", "value"); entityObj.putInt("fieldCustomSerializable", 10); entityObj.putUtfString("totallyIgnoredField", "value"); entityObj.putUtfStringArray("colors", Arrays.asList("black", "black", "white")); ISFSArray subArray = new SFSArray(); SFSObject subObj1 = new SFSObject(); subObj1.putLong("longField", 30L); subObj1.putUtfStringArray("stringsList", Arrays.asList("testString")); SFSObject subObj2 = new SFSObject(); subArray.addSFSObject(subObj1); subArray.addSFSObject(subObj2); entityObj.putSFSArray("subEntities", subArray); Entity entity = sfsSerializer.deserialize(Entity.class, entityObj); assertEquals(Entity.Color.white, entity.getEnumField()); assertEquals(Entity.Color.white, entity.getColors().get(2)); assertEquals(entityObj.getInt("intField"), entity.getIntField()); assertEquals((Long) 10L, entity.fieldCustomSerializable); assertEquals(entityObj.getUtfString("fieldWithoutGetter"), entity.fieldWithoutGetter); assertEquals(entityObj.getUtfString("notSerializable"), entity.getNotSerializable()); assertEquals(entityObj.getUtfString("changedName"), entity.getNameToBeChanged()); assertNull(entity.getNotDeserializable()); assertNull(entity.totallyIgnoredField); assertEquals(subEntityObj.getLong("longField"), entity.getSubEntity().getLongField()); assertNotNull(entity.getSubEntities()); assertFalse(entity.getSubEntities().isEmpty()); assertEquals(30L, entity.getSubEntities().get(0).getLongField().longValue()); assertEquals("testString", entity.getSubEntities().get(0).getStringsList().get(0)); }