mirror of
https://github.com/essentials/Essentials.git
synced 2025-08-22 14:23:09 +02:00
Cleanup
This commit is contained in:
@@ -4,7 +4,6 @@ import java.io.File;
|
|||||||
import java.io.FileNotFoundException;
|
import java.io.FileNotFoundException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.concurrent.atomic.AtomicBoolean;
|
import java.util.concurrent.atomic.AtomicBoolean;
|
||||||
import java.util.concurrent.locks.ReentrantReadWriteLock;
|
|
||||||
import java.util.logging.Level;
|
import java.util.logging.Level;
|
||||||
import net.ess3.api.IEssentials;
|
import net.ess3.api.IEssentials;
|
||||||
import org.bukkit.Bukkit;
|
import org.bukkit.Bukkit;
|
||||||
@@ -13,7 +12,6 @@ import org.bukkit.Bukkit;
|
|||||||
public abstract class AsyncStorageObjectHolder<T extends StorageObject> implements IStorageObjectHolder<T>
|
public abstract class AsyncStorageObjectHolder<T extends StorageObject> implements IStorageObjectHolder<T>
|
||||||
{
|
{
|
||||||
private transient T data;
|
private transient T data;
|
||||||
//private final transient ReentrantReadWriteLock rwl = new ReentrantReadWriteLock();
|
|
||||||
private final transient Class<T> clazz;
|
private final transient Class<T> clazz;
|
||||||
protected final transient IEssentials ess;
|
protected final transient IEssentials ess;
|
||||||
private final transient StorageObjectDataWriter writer;
|
private final transient StorageObjectDataWriter writer;
|
||||||
@@ -52,51 +50,12 @@ public abstract class AsyncStorageObjectHolder<T extends StorageObject> implemen
|
|||||||
return data;
|
return data;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*@Override
|
|
||||||
public void acquireReadLock()
|
|
||||||
{
|
|
||||||
rwl.readLock().lock();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void acquireWriteLock()
|
|
||||||
{
|
|
||||||
while (rwl.getReadHoldCount() > 0)
|
|
||||||
{
|
|
||||||
rwl.readLock().unlock();
|
|
||||||
}
|
|
||||||
rwl.writeLock().lock();
|
|
||||||
rwl.readLock().lock();
|
|
||||||
}*/
|
|
||||||
|
|
||||||
/*@Override
|
|
||||||
public void close()
|
|
||||||
{
|
|
||||||
unlock();
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public void unlock()
|
|
||||||
{
|
|
||||||
if (rwl.isWriteLockedByCurrentThread())
|
|
||||||
{
|
|
||||||
rwl.writeLock().unlock();
|
|
||||||
writer.schedule();
|
|
||||||
}
|
|
||||||
while (rwl.getReadHoldCount() > 0)
|
|
||||||
{
|
|
||||||
rwl.readLock().unlock();
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void queueSave()
|
public void queueSave()
|
||||||
{
|
{
|
||||||
writer.schedule();
|
writer.schedule();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onReload()
|
public void onReload()
|
||||||
{
|
{
|
||||||
@@ -131,14 +90,12 @@ public abstract class AsyncStorageObjectHolder<T extends StorageObject> implemen
|
|||||||
@Override
|
@Override
|
||||||
public StorageObject getObject()
|
public StorageObject getObject()
|
||||||
{
|
{
|
||||||
//acquireReadLock();
|
|
||||||
return getData();
|
return getData();
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFinish()
|
public void onFinish()
|
||||||
{
|
{
|
||||||
//unlock();
|
|
||||||
finishWrite();
|
finishWrite();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -154,13 +111,7 @@ public abstract class AsyncStorageObjectHolder<T extends StorageObject> implemen
|
|||||||
@Override
|
@Override
|
||||||
public File onStart() throws IOException
|
public File onStart() throws IOException
|
||||||
{
|
{
|
||||||
final File file = getStorageFile();
|
return getStorageFile();
|
||||||
/*while (rwl.getReadHoldCount() > 0)
|
|
||||||
{
|
|
||||||
rwl.readLock().unlock();
|
|
||||||
}
|
|
||||||
rwl.writeLock().lock();*/
|
|
||||||
return file;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@@ -170,7 +121,6 @@ public abstract class AsyncStorageObjectHolder<T extends StorageObject> implemen
|
|||||||
{
|
{
|
||||||
data = object;
|
data = object;
|
||||||
}
|
}
|
||||||
//rwl.writeLock().unlock();
|
|
||||||
loaded.set(true);
|
loaded.set(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -188,7 +138,6 @@ public abstract class AsyncStorageObjectHolder<T extends StorageObject> implemen
|
|||||||
Bukkit.getLogger().log(Level.SEVERE, ex.getMessage(), ex);
|
Bukkit.getLogger().log(Level.SEVERE, ex.getMessage(), ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//rwl.writeLock().unlock();
|
|
||||||
loaded.set(true);
|
loaded.set(true);
|
||||||
if (exception instanceof FileNotFoundException)
|
if (exception instanceof FileNotFoundException)
|
||||||
{
|
{
|
||||||
|
@@ -7,11 +7,5 @@ public interface IStorageObjectHolder<T extends StorageObject> extends IReload
|
|||||||
{
|
{
|
||||||
T getData();
|
T getData();
|
||||||
|
|
||||||
//void acquireReadLock();
|
|
||||||
|
|
||||||
//void acquireWriteLock();
|
|
||||||
|
|
||||||
void queueSave();
|
void queueSave();
|
||||||
|
|
||||||
//void unlock();
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user