private PdxInstance getPdxNewValue(EntryEvent<K, V> event) { Boolean initialPdxReadSerialized = cache.getPdxReadSerializedOverride(); cache.setPdxReadSerializedOverride(true); try { Object newValue = event.getNewValue(); if (!(newValue instanceof PdxInstance)) { SerializedCacheValue<V> serializedNewValue = event.getSerializedNewValue(); if (serializedNewValue != null) { newValue = serializedNewValue.getDeserializedValue(); } else { newValue = CopyHelper.copy(newValue); } if (newValue != null && !(newValue instanceof PdxInstance)) { String valueClassName = newValue.getClass().getName(); throw new IllegalArgumentException(getClass().getSimpleName() + " only supports PDX values; newValue is " + valueClassName); } } return (PdxInstance) newValue; } finally { cache.setPdxReadSerializedOverride(initialPdxReadSerialized); } }
@Test public void beforeCreateWithNewPdxInstanceWritesToSqlHandler() throws Exception { PdxInstance newPdxInstance = mock(PdxInstance.class); when(entryEvent.getNewValue()).thenReturn(newPdxInstance); when(entryEvent.getSerializedNewValue()).thenReturn(null); writer.beforeCreate(entryEvent); verify(sqlHandler, times(1)).write(eq(region), eq(Operation.CREATE), eq(key), eq(newPdxInstance)); assertThat(writer.getTotalEvents()).isEqualTo(1); }
@Test public void beforeDestroyWithDestroyEventWritesToSqlHandler() throws Exception { when(entryEvent.getOperation()).thenReturn(Operation.DESTROY); when(entryEvent.getSerializedNewValue()).thenReturn(null); writer.beforeDestroy(entryEvent); verify(sqlHandler, times(1)).write(eq(region), eq(Operation.DESTROY), eq(key), eq(null)); }
boolean serialized; SerializedCacheValue<?> serValue = event.getSerializedNewValue(); serialized = (serValue != null); if (!serialized) {
@Before public void setUp() { entryEvent = mock(EntryEvent.class); pdxInstance = mock(PdxInstance.class); sqlHandler = mock(SqlHandler.class); region = mock(InternalRegion.class); serializedNewValue = mock(SerializedCacheValue.class); regionEvent = mock(RegionEvent.class); cache = Fakes.cache(); key = "key"; when(entryEvent.getRegion()).thenReturn(region); when(entryEvent.getKey()).thenReturn(key); when(entryEvent.getRegion().getRegionService()).thenReturn(cache); when(entryEvent.getSerializedNewValue()).thenReturn(serializedNewValue); when(entryEvent.getOperation()).thenReturn(Operation.CREATE); when(serializedNewValue.getDeserializedValue()).thenReturn(pdxInstance); writer = new JdbcWriter<>(sqlHandler, cache); }
SerializedCacheValue scv = event.getSerializedNewValue(); if (scv == null) { getGatewayDeltaRegion().put(sessionId, new GatewayDeltaCreateEvent(regionName, sessionId,
SerializedCacheValue scv = event.getSerializedNewValue(); if (scv == null) { getGatewayDeltaRegion().put(sessionId, new GatewayDeltaCreateEvent(regionName, sessionId, System.out.println( "GatewayDeltaForwarderCacheListener event.getSerializedNewValue().getSerializedValue(): " + event.getSerializedNewValue().getSerializedValue()); getGatewayDeltaRegion().put(sessionId, new GatewayDeltaCreateEvent(regionName, sessionId, scv.getSerializedValue()));