public override void AcquireShared(LockTracer tracer, ResourceType resourceType, params long[] resourceIds) { _stateHolder.incrementActiveClients(this); try { MutableLongObjectMap <LockResource> localLocks = LocalShared(resourceType); foreach (long resourceId in resourceIds) { LockResource resource = localLocks.get(resourceId); if (resource != null) { resource.AcquireReference(); } else { resource = new LockResource(resourceType, resourceId); if (_manager.getReadLock(tracer, resource, _lockTransaction)) { localLocks.put(resourceId, resource); } else { throw new LockClientStoppedException(this); } } } } finally { _stateHolder.decrementActiveClients(); } }
public override bool TrySharedLock(ResourceType resourceType, long resourceId) { _stateHolder.incrementActiveClients(this); try { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final org.eclipse.collections.api.map.primitive.MutableLongObjectMap<LockResource> localLocks = localShared(resourceType); MutableLongObjectMap <LockResource> localLocks = LocalShared(resourceType); LockResource resource = localLocks.get(resourceId); if (resource != null) { resource.AcquireReference(); return(true); } else { resource = new LockResource(resourceType, resourceId); if (_manager.tryReadLock(resource, _lockTransaction)) { localLocks.put(resourceId, resource); return(true); } else { return(false); } } } finally { _stateHolder.decrementActiveClients(); } }
public override Value PropertyValue(int propertyKey) { if (_removedProperties != null && _removedProperties.contains(propertyKey)) { return(Values.NO_VALUE); } if (_addedProperties != null) { Value addedValue = _addedProperties.get(propertyKey); if (addedValue != null) { return(addedValue); } } if (_changedProperties != null) { return(_changedProperties.get(propertyKey)); } return(null); }
public override void ReleaseExclusive(ResourceType resourceType, params long[] resourceIds) { _stateHolder.incrementActiveClients(this); try { //JAVA TO C# CONVERTER WARNING: The original Java variable was marked 'final': //ORIGINAL LINE: final org.eclipse.collections.api.map.primitive.MutableLongObjectMap<LockResource> localLocks = localExclusive(resourceType); MutableLongObjectMap <LockResource> localLocks = LocalExclusive(resourceType); foreach (long resourceId in resourceIds) { LockResource resource = localLocks.get(resourceId); if (resource.ReleaseReference() == 0) { localLocks.remove(resourceId); _manager.releaseWriteLock(new LockResource(resourceType, resourceId), _lockTransaction); } } } finally { _stateHolder.decrementActiveClients(); } }
private Document FindDocument(long id) { return(_cachedDocuments.get(id)); }
public IndexProxy GetIndexProxy(long indexId) { return(_indexesById.get(indexId)); }
public virtual IndexAccessor AccessorFor(StoreIndexDescriptor indexRule) { return(_accessors.get(indexRule.Id)); }