[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