@Override public Object getKeyForIterator(KeyInfo curr, LocalRegion currRgn, boolean rememberReads, boolean allowTombstones) { // do not perform a value check here, it will send out an // extra message. Also BucketRegion will check to see if // the value for this key is a removed token return curr.getKey(); }
/** * Returns the key. * * @return the key. */ @Override public Object getKey() { return keyInfo.getKey(); }
@Override public Object getKeyForIterator(KeyInfo curr, LocalRegion currRgn, boolean rememberReads, boolean allowTombstones) { assert !(curr.getKey() instanceof RegionEntry); TXEntryState txEntryState = readEntryAndCheckIfDestroyed(curr, currRgn, rememberReads, allowTombstones); if (txEntryState != null) { // txEntry is created/read into txState. return curr.getKey(); } return null; }
/** * @see #basicGetEntry(Object) */ protected RegionEntry basicGetTXEntry(KeyInfo keyInfo) { return basicGetEntry(keyInfo.getKey()); }
@Override public Object getKeyForIterator(KeyInfo keyInfo, LocalRegion currRgn, boolean rememberReads, boolean allowTombstones) { Object key = keyInfo.getKey(); if (key instanceof RegionEntry) { return ((RegionEntry) key).getKey(); } return key; }
@Override public boolean containsKey(KeyInfo keyInfo) { return proxy.containsKey(keyInfo.getKey()); }
TXEntry(LocalRegion localRegion, KeyInfo key, TXStateInterface tx, boolean rememberReads) { this.localRegion = localRegion; this.localRegion.validateKey(key.getKey()); this.keyInfo = key; this.myTX = tx; this.rememberReads = rememberReads; }
@Override public Object getKey() { checkEntryDestroyed(); return this.keyInfo.getKey(); }
private void checkEntryDestroyed() { if (isDestroyed()) { throw new EntryDestroyedException(this.keyInfo.getKey().toString()); } }
@Override public Object findObject(KeyInfo keyInfo, boolean isCreate, boolean generateCallbacks, Object value, boolean preferCD, ClientProxyMembershipID requestingClient, EntryEventImpl event) { return proxy.get(keyInfo.getKey(), keyInfo.getCallbackArg(), event); }
protected TXEntryUserAttrState txWriteUA(KeyInfo ki) { TXRegionState txr = myTX.txWriteRegion(this.localRegion, ki); if (txr != null) { return txr.writeEntryUserAttr(ki.getKey(), this.localRegion); } else { return null; } }
private TXEntryUserAttrState txReadUA(KeyInfo ki) { TXRegionState txr = this.myTX.txReadRegion(this.localRegion); if (txr != null) { return txr.readEntryUserAttr(ki.getKey()); } else { return null; } }
protected boolean nonTXContainsKey(KeyInfo keyInfo) { boolean contains = getRegionMap().containsKey(keyInfo.getKey()); if (contains && this.imageState.isClient()) { // fix for bug #40871 - concurrent RI causes containsKey for destroyed entry // to return true RegionEntry regionEntry = this.entries.getEntry(keyInfo.getKey()); if (regionEntry == null || regionEntry.isDestroyedOrRemoved()) { contains = false; } } return contains; }
@Override public Region.Entry<?, ?> getEntryForIterator(final KeyInfo keyInfo, final LocalRegion currRgn, boolean rememberReads, boolean allowTombstones) { final AbstractRegionEntry re = (AbstractRegionEntry) keyInfo.getKey(); if (re != null && (!re.isDestroyedOrRemoved()) || (allowTombstones && re.isTombstone())) { return currRgn.new NonTXEntry(re); } return null; }
@Override public Entry getEntryOnRemote(KeyInfo keyInfo, LocalRegion localRegion, boolean allowTombstones) throws DataLocationException { PartitionedRegion pr = (PartitionedRegion) localRegion; return pr.getDataStore().getEntryLocally(keyInfo.getBucketId(), keyInfo.getKey(), false, allowTombstones); }
@Override public Object next() { this.key.setKey(super.next()); this.key.setBucketId(this.currentBucketId); Object entry = view.getEntryForIterator(this.key, PartitionedRegion.this, true, allowTombstones); return entry != null ? entry : new DestroyedEntry(key.getKey().toString()); } }
@Before public void setup() { initMocks(this); VersionStamp versionStamp = mock(VersionStamp.class); when(versionStamp.asVersionTag()).thenReturn(existingVersionTag); when(existingRegionEntry.getVersionStamp()).thenReturn(versionStamp); when(existingRegionEntry.getKey()).thenReturn(key); when(factoryRegionEntry.getKey()).thenReturn(key); when(oldRegionEntry.getKey()).thenReturn(key); when(keyInfo.getKey()).thenReturn(key); when(txId.getMemberId()).thenReturn(myId); }
private EntryEventImpl createEventForLoad(KeyInfo keyInfo, boolean generateCallbacks, ClientProxyMembershipID requestingClient, Operation op) { // Do not generate Event ID EntryEventImpl event = EntryEventImpl.create(this, op, keyInfo.getKey(), null /* newValue */, keyInfo.getCallbackArg(), false, getMyId(), generateCallbacks); if (requestingClient != null) { event.setContext(requestingClient); } return event; }
@Override public Object getUserAttribute() { checkTX(); throwIfUAOperationForPR(); TXEntryUserAttrState tx = txReadUA(this.keyInfo); if (tx != null) { return tx.getPendingValue(); } else { checkEntryDestroyed(); return this.localRegion.basicGetEntryUserAttribute(this.keyInfo.getKey()); } }