private Map<String, Object> generateSyncState(Map<LockDescriptor, ClientAwareReadWriteLock> descriptorToLockMap) { return nameObjectForYamlConversion(SYNC_STATE_TITLE, descriptorToLockMap.entrySet() .stream() .collect(Collectors.toMap( entry -> lockDescriptorMapper.getDescriptorMapping(entry.getKey()), entry -> ((LockServerLock) entry.getValue()).toSanitizedString()))); }
private Map<String, Object> generateHeldLocks(ConcurrentMap<HeldLocksToken, LockServiceImpl.HeldLocks<HeldLocksToken>> heldLocksTokenMap) { Map<String, Object> mappedLocksToToken = Maps.newHashMap(); heldLocksTokenMap.values().forEach(locks -> mappedLocksToToken.putAll(getDescriptorToTokenMap(locks.getRealToken()))); return nameObjectForYamlConversion(HELD_LOCKS_TITLE, mappedLocksToToken); }
private Map<String, Object> synthesizeRequestState( Map<LockClient, Set<LockRequest>> outstandingLockRequests, Map<LockDescriptor, ClientAwareReadWriteLock> descriptorToLockMap) { LockServiceStateDebugger debugger = new LockServiceStateDebugger(outstandingLockRequests, descriptorToLockMap); Multimap<LockClient, LockServiceStateDebugger.LockRequestProgress> progressMultimap = debugger.getSuspectedLockProgress(); return nameObjectForYamlConversion(SYNTHESIZED_REQUEST_STATE_TITLE, progressMultimap.asMap().entrySet().stream() .collect(Collectors.toMap( entry -> entry.getKey().toString(), entry -> entry.getValue().stream().map( lockRequestProgress -> SanitizedLockRequestProgress.create( lockRequestProgress, lockDescriptorMapper, entry.getKey().toString())) .collect(Collectors.toList())))); }
private Map<String, Object> generateOutstandingLocksYaml(Map<LockClient, Set<LockRequest>> outstandingLockRequestsMap) { Map<String, SimpleLockRequestsWithSameDescriptor> outstandingRequestMap = Maps.newHashMap(); outstandingLockRequestsMap.forEach((client, requestSet) -> { if (requestSet != null) { ImmutableSet<LockRequest> lockRequests = ImmutableSet.copyOf(requestSet); lockRequests.forEach(lockRequest -> { List<SimpleLockRequest> requestList = getDescriptorSimpleRequestMap(client, lockRequest); requestList.forEach(request -> { outstandingRequestMap.putIfAbsent(request.getLockDescriptor(), new SimpleLockRequestsWithSameDescriptor(request.getLockDescriptor())); outstandingRequestMap.get(request.getLockDescriptor()).addLockRequest(request); }); }); } }); List<SimpleLockRequestsWithSameDescriptor> sortedOutstandingRequests = sortOutstandingRequests(outstandingRequestMap.values()); return nameObjectForYamlConversion(OUTSTANDING_LOCK_REQUESTS_TITLE, sortedOutstandingRequests); }