[exo-jcr-commits] exo-jcr SVN: r5597 - jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc.

do-not-reply at jboss.org do-not-reply at jboss.org
Thu Feb 9 10:46:42 EST 2012


Author: andrew.plotnikov
Date: 2012-02-09 10:46:42 -0500 (Thu, 09 Feb 2012)
New Revision: 5597

Modified:
   jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainer.java
Log:
EXOJCR-1576: Adapted eXo JCR to GlusterFS

Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainer.java	2012-02-09 15:00:02 UTC (rev 5596)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainer.java	2012-02-09 15:46:42 UTC (rev 5597)
@@ -77,6 +77,7 @@
 import java.io.File;
 import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.security.PrivilegedActionException;
 import java.security.PrivilegedExceptionAction;
 import java.sql.Connection;
 import java.sql.DriverManager;
@@ -1025,23 +1026,22 @@
 
          if (wsConfig.getContainer().getValueStorages() != null)
          {
-            for (ValueStorageEntry valueStorage : wsConfig.getContainer().getValueStorages())
+            SecurityHelper.doPrivilegedExceptionAction(new PrivilegedExceptionAction<Void>()
             {
-               final File valueStorageDir = new File(valueStorage.getParameterValue(FileValueStorage.PATH));
-
-               SecurityHelper.doPrivilegedIOExceptionAction(new PrivilegedExceptionAction<Void>()
+               public Void run() throws IOException, RepositoryConfigurationException
                {
-                  public Void run() throws IOException
+                  for (ValueStorageEntry valueStorage : wsConfig.getContainer().getValueStorages())
                   {
+                     File valueStorageDir = new File(valueStorage.getParameterValue(FileValueStorage.PATH));
                      if (valueStorageDir.exists())
                      {
                         DirectoryHelper.removeDirectory(valueStorageDir);
                      }
-
-                     return null;
                   }
-               });
-            }
+
+                  return null;
+               }
+            });
          }
       }
       catch (RepositoryConfigurationException e)
@@ -1056,7 +1056,7 @@
       {
          throw new BackupException(e);
       }
-      catch (IOException e)
+      catch (PrivilegedActionException e)
       {
          throw new BackupException(e);
       }
@@ -1106,14 +1106,13 @@
          // backup value storage
          if (wsConfig.getContainer().getValueStorages() != null)
          {
-            for (final ValueStorageEntry valueStorage : wsConfig.getContainer().getValueStorages())
+            SecurityHelper.doPrivilegedExceptionAction(new PrivilegedExceptionAction<Void>()
             {
-               final File srcDir = new File(valueStorage.getParameterValue(FileValueStorage.PATH));
-
-               SecurityHelper.doPrivilegedIOExceptionAction(new PrivilegedExceptionAction<Void>()
+               public Void run() throws IOException, RepositoryConfigurationException
                {
-                  public Void run() throws IOException
+                  for (ValueStorageEntry valueStorage : wsConfig.getContainer().getValueStorages())
                   {
+                     File srcDir = new File(valueStorage.getParameterValue(FileValueStorage.PATH));
                      if (!srcDir.exists())
                      {
                         throw new IOException("Can't backup value storage. Directory " + srcDir.getName()
@@ -1124,22 +1123,22 @@
                         File zipFile = new File(storageDir, "values-" + valueStorage.getId() + ".zip");
                         DirectoryHelper.compressDirectory(srcDir, zipFile);
                      }
-
-                     return null;
                   }
-               });
-            }
+
+                  return null;
+               }
+            });
          }
       }
       catch (IOException e)
       {
          throw new BackupException(e);
       }
-      catch (RepositoryConfigurationException e)
+      catch (RepositoryException e)
       {
          throw new BackupException(e);
       }
-      catch (RepositoryException e)
+      catch (PrivilegedActionException e)
       {
          throw new BackupException(e);
       }



More information about the exo-jcr-commits mailing list