Author: tolusha
Date: 2010-06-15 03:58:25 -0400 (Tue, 15 Jun 2010)
New Revision: 2584
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/CASableWriteValue.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/PrivilegedFileHelper.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCConnectionTestBase.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/CASableFileIOChannelTestBase.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/storage/fs/TestFSReadWrite.java
Log:
EXOJCR-756: replace file operations on privileged file operations
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/CASableWriteValue.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/CASableWriteValue.java 2010-06-15
07:36:55 UTC (rev 2583)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/CASableWriteValue.java 2010-06-15
07:58:25 UTC (rev 2584)
@@ -161,7 +161,7 @@
}
catch (RecordAlreadyExistsException e)
{
- if (tempFile != null && PrivilegedFileHelper.exists(tempFile)
&& !tempFile.delete())
+ if (tempFile != null && PrivilegedFileHelper.exists(tempFile)
&& !PrivilegedFileHelper.delete(tempFile))
{
LOG.warn("Can't delete CAS temp file. Added to file cleaner.
"
+ PrivilegedFileHelper.getAbsolutePath(tempFile));
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/PrivilegedFileHelper.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/PrivilegedFileHelper.java 2010-06-15
07:36:55 UTC (rev 2583)
+++
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/PrivilegedFileHelper.java 2010-06-15
07:58:25 UTC (rev 2584)
@@ -351,6 +351,18 @@
return AccessController.doPrivileged(action);
}
+ public static boolean isDirectory(final File file)
+ {
+ PrivilegedAction<Boolean> action = new PrivilegedAction<Boolean>()
+ {
+ public Boolean run()
+ {
+ return file.isDirectory();
+ }
+ };
+ return AccessController.doPrivileged(action);
+ }
+
public static boolean exists(final File file)
{
PrivilegedAction<Boolean> action = new PrivilegedAction<Boolean>()
Modified:
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCConnectionTestBase.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCConnectionTestBase.java 2010-06-15
07:36:55 UTC (rev 2583)
+++
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCConnectionTestBase.java 2010-06-15
07:58:25 UTC (rev 2584)
@@ -23,12 +23,8 @@
import org.exoplatform.services.jcr.impl.dataflow.TransientNodeData;
import java.io.ByteArrayInputStream;
-import java.security.AccessController;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
import java.sql.Connection;
import java.sql.ResultSet;
-import java.sql.SQLException;
import javax.naming.InitialContext;
import javax.sql.DataSource;
@@ -53,48 +49,15 @@
@Override
protected void tearDown() throws Exception
{
-
connect.close();
super.tearDown();
}
public Connection getJNDIConnection() throws Exception
{
+ DataSource ds = (DataSource)new InitialContext().lookup("jdbcjcrtest");
+ connect = ds.getConnection();
- final DataSource ds = (DataSource)new
InitialContext().lookup("jdbcjcrtest");
-
- PrivilegedExceptionAction<Connection> action = new
PrivilegedExceptionAction<Connection>()
- {
- public Connection run() throws Exception
- {
- return ds.getConnection();
- }
- };
- try
- {
- connect = AccessController.doPrivileged(action);
- }
- catch (PrivilegedActionException pae)
- {
- Throwable cause = pae.getCause();
- if (cause instanceof IllegalArgumentException)
- {
- throw (IllegalArgumentException)cause;
- }
- else if (cause instanceof SQLException)
- {
- throw (SQLException)cause;
- }
- else if (cause instanceof RuntimeException)
- {
- throw (RuntimeException)cause;
- }
- else
- {
- throw new RuntimeException(cause);
- }
- }
-
return connect;
}
Modified:
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/CASableFileIOChannelTestBase.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/CASableFileIOChannelTestBase.java 2010-06-15
07:36:55 UTC (rev 2583)
+++
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/CASableFileIOChannelTestBase.java 2010-06-15
07:58:25 UTC (rev 2584)
@@ -626,7 +626,7 @@
long count = 0;
for (File sf : PrivilegedFileHelper.listFiles(dir))
{
- if (sf.isDirectory() && PrivilegedFileHelper.list(sf).length > 0)
+ if (PrivilegedFileHelper.isDirectory(sf) &&
PrivilegedFileHelper.list(sf).length > 0)
count += deleteRecursive(sf);
else if (PrivilegedFileHelper.delete(sf))
count += 1;
@@ -640,9 +640,9 @@
private long calcDirSize(File dir)
{
long size = 0;
- for (File sf : dir.listFiles())
+ for (File sf : PrivilegedFileHelper.listFiles(dir))
{
- if (sf.isDirectory())
+ if (PrivilegedFileHelper.isDirectory(sf))
size += calcDirSize(sf);
else
size += PrivilegedFileHelper.length(sf);
Modified:
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/storage/fs/TestFSReadWrite.java
===================================================================
---
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/storage/fs/TestFSReadWrite.java 2010-06-15
07:36:55 UTC (rev 2583)
+++
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/storage/fs/TestFSReadWrite.java 2010-06-15
07:58:25 UTC (rev 2584)
@@ -175,7 +175,7 @@
PrivilegedFileHelper.delete(f);
}
else
- f.delete();
+ PrivilegedFileHelper.delete(f);;
}
}
Show replies by date