[jboss-cvs] JBoss Messaging SVN: r7458 - in branches/clebert_temp_expirement: tests/src/org/jboss/messaging/tests/unit/core/journal/impl and 1 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Jun 24 17:16:19 EDT 2009
Author: clebert.suconic at jboss.com
Date: 2009-06-24 17:16:19 -0400 (Wed, 24 Jun 2009)
New Revision: 7458
Modified:
branches/clebert_temp_expirement/src/main/org/jboss/messaging/core/journal/impl/AIOSequentialFile.java
branches/clebert_temp_expirement/src/main/org/jboss/messaging/core/journal/impl/NIOSequentialFile.java
branches/clebert_temp_expirement/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/SequentialFileFactoryTestBase.java
branches/clebert_temp_expirement/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/fakes/FakeSequentialFileFactory.java
Log:
tweaks
Modified: branches/clebert_temp_expirement/src/main/org/jboss/messaging/core/journal/impl/AIOSequentialFile.java
===================================================================
--- branches/clebert_temp_expirement/src/main/org/jboss/messaging/core/journal/impl/AIOSequentialFile.java 2009-06-24 20:20:35 UTC (rev 7457)
+++ branches/clebert_temp_expirement/src/main/org/jboss/messaging/core/journal/impl/AIOSequentialFile.java 2009-06-24 21:16:19 UTC (rev 7458)
@@ -53,9 +53,9 @@
{
private static final Logger log = Logger.getLogger(AIOSequentialFile.class);
- private final String journalDir;
+ private final String directory;
- private final String fileName;
+ private File file;
private boolean opened = false;
@@ -89,7 +89,7 @@
public AIOSequentialFile(final SequentialFileFactory factory,
final int bufferSize,
final long bufferTimeoutMilliseconds,
- final String journalDir,
+ final String directory,
final String fileName,
final int maxIO,
final BufferCallback bufferCallback,
@@ -97,8 +97,8 @@
final Executor pollerExecutor)
{
this.factory = factory;
- this.journalDir = journalDir;
- this.fileName = fileName;
+ this.directory = directory;
+ file = new File(directory + "/" + fileName);
this.maxIO = maxIO;
this.bufferCallback = bufferCallback;
this.executor = executor;
@@ -166,8 +166,8 @@
while (!donelatch.await(60, TimeUnit.SECONDS))
{
- log.warn("Executor on file " + fileName + " couldn't complete its tasks in 60 seconds.",
- new Exception("Warning: Executor on file " + fileName + " couldn't complete its tasks in 60 seconds."));
+ log.warn("Executor on file " + file.getName() + " couldn't complete its tasks in 60 seconds.",
+ new Exception("Warning: Executor on file " + file.getName() + " couldn't complete its tasks in 60 seconds."));
}
aioFile.close();
@@ -181,7 +181,7 @@
*/
public synchronized void waitForClose() throws Exception
{
- if (isOpen())
+ while (isOpen())
{
wait();
}
@@ -196,7 +196,6 @@
aioFile = null;
}
- File file = new File(journalDir + "/" + fileName);
file.delete();
}
@@ -250,7 +249,7 @@
public String getFileName()
{
- return fileName;
+ return file.getName();
}
public void open() throws Exception
@@ -261,17 +260,19 @@
/* (non-Javadoc)
* @see org.jboss.messaging.core.journal.SequentialFile#renameTo(org.jboss.messaging.core.journal.SequentialFile)
*/
- public void renameTo(String fileName) throws Exception
+ public void renameTo(String newFileName) throws Exception
{
- throw new IllegalStateException("method rename not supported on AIO");
-
+ close();
+ File newFile = new File(directory + "/" + newFileName);
+ file.renameTo(newFile);
+ file = newFile;
}
public synchronized void open(final int currentMaxIO) throws Exception
{
opened = true;
aioFile = newFile();
- aioFile.open(journalDir + "/" + fileName, currentMaxIO);
+ aioFile.open(file.getAbsolutePath(), currentMaxIO);
position.set(0);
aioFile.setBufferCallback(bufferCallback);
this.fileSize = aioFile.size();
@@ -390,7 +391,7 @@
@Override
public String toString()
{
- return "AIOSequentialFile:" + journalDir + "/" + fileName;
+ return "AIOSequentialFile:" + file.getAbsolutePath();
}
// Public methods
@@ -528,7 +529,7 @@
public String toString()
{
- return "TimedBufferObserver on file (" + AIOSequentialFile.this.fileName + ")";
+ return "TimedBufferObserver on file (" + AIOSequentialFile.this.file.getName() + ")";
}
}
Modified: branches/clebert_temp_expirement/src/main/org/jboss/messaging/core/journal/impl/NIOSequentialFile.java
===================================================================
--- branches/clebert_temp_expirement/src/main/org/jboss/messaging/core/journal/impl/NIOSequentialFile.java 2009-06-24 20:20:35 UTC (rev 7457)
+++ branches/clebert_temp_expirement/src/main/org/jboss/messaging/core/journal/impl/NIOSequentialFile.java 2009-06-24 21:16:19 UTC (rev 7458)
@@ -130,7 +130,7 @@
public synchronized void waitForClose() throws Exception
{
- if (isOpen())
+ while (isOpen())
{
wait();
}
Modified: branches/clebert_temp_expirement/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/SequentialFileFactoryTestBase.java
===================================================================
--- branches/clebert_temp_expirement/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/SequentialFileFactoryTestBase.java 2009-06-24 20:20:35 UTC (rev 7457)
+++ branches/clebert_temp_expirement/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/SequentialFileFactoryTestBase.java 2009-06-24 21:16:19 UTC (rev 7458)
@@ -177,6 +177,38 @@
}
+ public void testRename() throws Exception
+ {
+ SequentialFile sf = factory.createSequentialFile("test1.jbm", 1);
+
+ sf.open();
+
+ List<String> fileNames = factory.listFiles("jbm");
+
+ assertEquals(1, fileNames.size());
+
+ assertTrue(fileNames.contains("test1.jbm"));
+
+ sf.renameTo("test1.cmp");
+
+ fileNames = factory.listFiles("cmp");
+
+ assertEquals(1, fileNames.size());
+
+ assertTrue(fileNames.contains("test1.cmp"));
+
+ sf.delete();
+
+ fileNames = factory.listFiles("jbm");
+
+ assertEquals(0, fileNames.size());
+
+ fileNames = factory.listFiles("cmp");
+
+ assertEquals(0, fileNames.size());
+
+ }
+
// TODO: RE-ENABLE THIS
// public void testWriteandRead() throws Exception
// {
Modified: branches/clebert_temp_expirement/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/fakes/FakeSequentialFileFactory.java
===================================================================
--- branches/clebert_temp_expirement/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/fakes/FakeSequentialFileFactory.java 2009-06-24 20:20:35 UTC (rev 7457)
+++ branches/clebert_temp_expirement/tests/src/org/jboss/messaging/tests/unit/core/journal/impl/fakes/FakeSequentialFileFactory.java 2009-06-24 21:16:19 UTC (rev 7458)
@@ -346,7 +346,7 @@
public synchronized void waitForClose() throws Exception
{
- if (!open)
+ while (open)
{
this.wait();
}
More information about the jboss-cvs-commits
mailing list