public CDOID getLockKeyID(Object key) { if (key instanceof CDOID) { return (CDOID)key; } if (key instanceof CDOIDAndBranch) { return ((CDOIDAndBranch)key).getID(); } throw new ImplementationError("Unexpected lock object: " + key); }
@Override protected boolean isKeyInBranch(Object key, CDOBranch branch) { return ObjectUtil.equals(((CDOIDAndBranch)key).getBranch(), branch); }
id = ((CDOIDAndBranch)lockedObject).getID();
id = ((CDOIDAndBranch)lockedObject).getID();
private void applyLocksOnNewObjects() throws InterruptedException { final CDOLockOwner owner = CDOLockUtil.createLockOwner(transaction); for (CDOLockState lockState : locksOnNewObjects) { Object target = lockState.getLockedObject(); if (transaction.getRepository().getIDGenerationLocation() == IDGenerationLocation.STORE) { CDOIDAndBranch idAndBranch = target instanceof CDOIDAndBranch ? (CDOIDAndBranch)target : null; CDOID id = idAndBranch != null ? ((CDOIDAndBranch)target).getID() : (CDOID)target; CDOID newID = idMappings.get(id); CheckUtil.checkNull(newID, "newID"); target = idAndBranch != null ? CDOIDUtil.createIDAndBranch(newID, idAndBranch.getBranch()) : newID; } for (LockType type : LockType.values()) { if (lockState.isLocked(type, owner, false)) { lockManager.lock2(type, transaction, Collections.singleton(target), 0); } } } }
if (isIDandBranch) id = ((CDOIDAndBranch)o).getID();