/** * Added this function to expose isCopyOnRead function to the * child classes of EntryEventImpl * */ protected boolean isRegionCopyOnRead() { return getRegion().isCopyOnRead(); }
@Override protected final void beforeToData(final DataOutput out) throws IOException { DistributedRegion region = (DistributedRegion)this.event.getRegion(); setDeltaFlag(region); }
@Override protected GemFireContainer getGemFireContainer() { return (GemFireContainer)this.entryEvent.getRegion().getUserAttribute(); }
/** * Added this function to expose isCopyOnRead function to the * child classes of EntryEventImpl * */ protected final boolean isRegionCopyOnRead() { return getRegion().isCopyOnRead(); }
@Override protected GemFireContainer getGemFireContainer() { return (GemFireContainer)this.entryEvent.getRegion().getUserAttribute(); }
@Override protected GemFireContainer getGemFireContainer() { return (GemFireContainer)this.entryEvent.getRegion().getUserAttribute(); }
public DataPolicy getDataPolicy() { if (this.event != null) { return this.event.getRegion().getAttributes().getDataPolicy(); } return null; }
public boolean putEntry(EntryEventImpl event, boolean ifNew, boolean ifOld, Object expectedOldValue, boolean requireOldValue, long lastModified, boolean overwriteDestroyed) { return getTXRegionStub(event.getRegion()).putEntry(event,ifNew,ifOld,expectedOldValue,requireOldValue,lastModified,overwriteDestroyed); }
/** * Switch the event's region from BucketRegion to owning PR and set originRemote to the given value */ static EntryEventImpl switchEventOwnerAndOriginRemote(EntryEventImpl event, boolean originRemote) { assert event != null; if (event.getRegion().isUsedForPartitionedRegionBucket()) { LocalRegion pr = event.getRegion().getPartitionedRegion(); event.setRegion(pr); } event.setOriginRemote(originRemote); return event; }
/** * Switch the event's region from BucketRegion to owning PR and set originRemote to the given value */ static EntryEventImpl switchEventOwnerAndOriginRemote(EntryEventImpl event, boolean originRemote) { assert event != null; if (event.getRegion().isUsedForPartitionedRegionBucket()) { LocalRegion pr = event.getRegion().getPartitionedRegion(); event.setRegion(pr); } event.setOriginRemote(originRemote); return event; }
public boolean dispatchListenerEvents(EntryEventImpl event) throws InterruptedException { // note that we don't synchronize on the RE before dispatching // events event.invokeCallbacks(event.getRegion(), event.inhibitCacheListenerNotification(), false); return true; }
public boolean dispatchListenerEvents(EntryEventImpl event) throws InterruptedException { // note that we don't synchronize on the RE before dispatching // events event.invokeCallbacks(event.getRegion(), event.inhibitCacheListenerNotification(), false); return true; }
public DataPolicy getDataPolicy() { if (this.event != null) { return this.event.getRegion().getAttributes().getDataPolicy(); } return null; }
public void firePendingCallbacks() { for (EntryEventImpl ee: getPendingCallbacks()) { if(ee.getOperation().isDestroy()) { ee.getRegion().invokeTXCallbacks(EnumListenerEvent.AFTER_DESTROY, ee, true); } else if(ee.getOperation().isInvalidate()) { ee.getRegion().invokeTXCallbacks(EnumListenerEvent.AFTER_INVALIDATE, ee, true); } else if(ee.getOperation().isCreate()) { ee.getRegion().invokeTXCallbacks(EnumListenerEvent.AFTER_CREATE, ee, true); } else { ee.getRegion().invokeTXCallbacks(EnumListenerEvent.AFTER_UPDATE, ee, true); } } }
/** * throws an exception when cloning is disabled while using delta * @param event */ private void validateDelta(EntryEventImpl event) { if (event.getDeltaBytes() != null && !event.getRegion().getAttributes().getCloningEnabled()) { throw new UnsupportedOperationInTransactionException( LocalizedStrings.TXState_DELTA_WITHOUT_CLONING_CANNOT_BE_USED_IN_TX .toLocalizedString()); } }
@Override public void toData(final DataOutput out) throws IOException { super.toData(out); try { // Write EventID DataSerializer.writeObject(this.event.getEventId(), out); ((InternalDistributedMember)event.getDistributedMember()).toData(out); // Write Region name DataSerializer.writeString(this.event.getRegion().getFullPath(), out); } catch (Exception e) { throw new IOException(e); } }
/** * throws an exception when cloning is disabled while using delta * * @param event */ private void validateDelta(EntryEventImpl event) { if (event.getDeltaBytes() != null && !event.getRegion().getAttributes().getCloningEnabled()) { throw new UnsupportedOperationInTransactionException( LocalizedStrings.TXState_DELTA_WITHOUT_CLONING_CANNOT_BE_USED_IN_TX .toLocalizedString()); } }
public void invalidateExistingEntry(EntryEventImpl event, boolean invokeCallbacks, boolean forceNewEntry) { if (event.getOperation().isLocal()) { throw new UnsupportedOperationInTransactionException( LocalizedStrings.TXStateStub_LOCAL_INVALIDATE_NOT_ALLOWED_IN_TRANSACTION.toLocalizedString()); } getTXRegionStub(event.getRegion()).invalidateExistingEntry(event,invokeCallbacks,forceNewEntry); }
public void destroyExistingEntry(EntryEventImpl event, boolean cacheWrite, Object expectedOldValue) throws EntryNotFoundException { if (event.getOperation().isLocal()) { throw new UnsupportedOperationInTransactionException( LocalizedStrings.TXStateStub_LOCAL_DESTROY_NOT_ALLOWED_IN_TRANSACTION.toLocalizedString()); } TXRegionStub rs = getTXRegionStub(event.getRegion()); rs.destroyExistingEntry(event,cacheWrite,expectedOldValue); }
public boolean txPutEntry(EntryEventImpl event, boolean ifNew, boolean requireOldValue, boolean checkResources, Object expectedOldValue) { try { this.operationCount++; boolean retVal = getRealDeal(event.getKeyInfo(), (LocalRegion)event.getRegion()).txPutEntry(event, ifNew, requireOldValue, checkResources, expectedOldValue); trackBucketForTx(event.getKeyInfo()); return retVal; } catch (TransactionDataRebalancedException | PrimaryBucketException re) { throw getTransactionException(event.getKeyInfo(), re); } }