Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package org.uberfire.io.lock.impl;
 
 
 import  org.uberfire.java.nio.file.FileSystem;
 
 public class BatchLockControlImpl implements BatchLockControl {
 
    private final ConcurrentHashMap<Thread, FileSystem[]> batchLockControl = new ConcurrentHashMap<Thread, FileSystem[]>();
    @Override
    public void start( FileSystem[] fileSystems ) {
        if ( thisThreadIsOnBatch() ) {
            throw new RuntimeException"There is already a batch process to this thread" );
        }
        .put( Thread.currentThread(), fileSystems );
    }
    @Override
    public FileSystem[] getLockedFileSystems() {
        FileSystem[] fileSystems = .get( Thread.currentThread() );
        if ( fileSystems == null ) {
            return new FileSystem[]{ };
        }
        return fileSystems;
    }
    private boolean thisThreadIsOnBatch() {
        return .containsKey( Thread.currentThread() );
    }
    @Override
    public void end() {
        .remove( Thread.currentThread() );
    }
New to GrepCode? Check out our FAQ X