/** * Extracts a value from an map * * @param obj a map * @param key property key * @param signalUndefined if true the constant {@link com.jayway.jsonpath.spi.json.JsonProvider#UNDEFINED} is returned for missing properties * @return the map entry */ public Object getPDXValue(Object obj, String key, boolean signalUndefined){ PdxInstance m = (PdxInstance) obj; if(!/*m.containsKey(key)*/ m.hasField(key) && signalUndefined){ return JsonProvider.UNDEFINED; } else { return ((PdxInstance) obj).getField(key); } }
/** * Extracts a value from an map * * @param obj a map * @param key property key * @param signalUndefined if true the constant {@link com.jayway.jsonpath.spi.json.JsonProvider#UNDEFINED} is returned for missing properties * @return the map entry */ public Object getPDXValue(Object obj, String key, boolean signalUndefined){ PdxInstance m = (PdxInstance) obj; if(!/*m.containsKey(key)*/ m.hasField(key) && signalUndefined){ return JsonProvider.UNDEFINED; } else { return ((PdxInstance) obj).getField(key); } }
/** * Extracts a value from an map * * @param obj a map * @param key property key * @param signalUndefined if true the constant {@link com.jayway.jsonpath.spi.json.JsonProvider#UNDEFINED} is returned for missing properties * @return the map entry */ public Object getPDXValue(Object obj, String key, boolean signalUndefined){ PdxInstance m = (PdxInstance) obj; if(!/*m.containsKey(key)*/ m.hasField(key) && signalUndefined){ return JsonProvider.UNDEFINED; } else { return ((PdxInstance) obj).getField(key); } }
public void testIsFieldIncluded() throws IOException, ClassNotFoundException { setupSerializer(new ExplicitIncludedAutoSerializer(false, "com.gemstone.gemfire.pdx.DomainObjectPdxAuto"), true); DomainObject objOut = new DomainObjectPdxAuto(4); HeapDataOutputStream out = new HeapDataOutputStream(Version.CURRENT); DataSerializer.writeObject(objOut, out); PdxInstance pi = (PdxInstance)DataSerializer.readObject(new DataInputStream( new ByteArrayInputStream(out.toByteArray()))); assertEquals(true, pi.hasField("long_0")); assertEquals(false, pi.hasField("string_0")); } public static class ExplicitFieldNameAutoSerializer extends ReflectionBasedAutoSerializer {
public void testGetFieldName() throws IOException, ClassNotFoundException { setupSerializer(new ExplicitFieldNameAutoSerializer(false, "com.gemstone.gemfire.pdx.DomainObjectPdxAuto"), true); DomainObject objOut = new DomainObjectPdxAuto(4); HeapDataOutputStream out = new HeapDataOutputStream(Version.CURRENT); DataSerializer.writeObject(objOut, out); PdxInstance pi = (PdxInstance)DataSerializer.readObject(new DataInputStream( new ByteArrayInputStream(out.toByteArray()))); System.out.println("fieldNames=" + pi.getFieldNames()); assertEquals(false, pi.hasField("long_0")); assertEquals(true, pi.hasField("_long_0")); assertEquals(true, pi.hasField("string_0")); assertEquals(objOut, pi.getObject()); }
public void testEnums() throws IOException, ClassNotFoundException { PdxInstance e0 = this.cache.createPdxEnum(Coin.class.getName(), Coin.HEADS.name(), Coin.HEADS.ordinal()); assertEquals(true, e0.isEnum()); assertEquals(true, e0.hasField("name")); assertEquals(true, e0.hasField("ordinal")); assertEquals(false, e0.hasField("bogus")); assertEquals(null, e0.getField("bogus")); assertEquals(Coin.class.getName(), e0.getClassName());
if (((PdxInstance) target).hasField(_name)) { return ((PdxInstance) target).getField(_name);
if (((PdxInstance) target).hasField(_name)) { return ((PdxInstance) target).getField(_name);
assertTrue("Mismatch in write and read value: Value Write..." + pdx + " Value Read..." + actualVal, pdx.equals(actualVal)); assertTrue(pi.hasField("myFlag")); assertTrue(pi.hasField("myShort")); assertTrue(pi.hasField("myString1")); assertTrue(pi.hasField("myLong")); assertTrue(pi.hasField("myString2")); assertTrue(pi.hasField("myString3")); assertTrue(pi.hasField("myInt")); assertTrue(pi.hasField("myFloat")); assertEquals(pdx.isMyFlag(), pi.getField("myFlag")); assertEquals(pdx.getMyShort(), pi.getField("myShort"));
assertTrue("Mismatch in write and read value: Value Write..." + pdx + " Value Read..." + actualVal, pdx.equals(actualVal)); assertTrue(pi.hasField("myFlag")); assertTrue(pi.hasField("myShort")); assertTrue(pi.hasField("myString1")); assertTrue(pi.hasField("myLong")); assertTrue(pi.hasField("myString2")); assertTrue(pi.hasField("myString3")); assertTrue(pi.hasField("myInt")); assertTrue(pi.hasField("myFloat")); assertEquals(pdx.isMyFlag(), pi.getField("myFlag")); assertEquals(pdx.getMyShort(), pi.getField("myShort"));