exo-jcr SVN: r2566 - in jcr/trunk/exo.jcr.component.core/src: main/java/org/exoplatform/services/jcr/impl/dataflow/persistent and 24 other directories.
by do-not-reply@jboss.org
Author: tolusha
Date: 2010-06-14 05:00:21 -0400 (Mon, 14 Jun 2010)
New Revision: 2566
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/TextExtractorJob.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FilePersistedValueData.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileIOHelper.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/SpoolFile.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/BufferedDecoder.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/statistics/JCRStatisticsManager.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportDocView.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportImport.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportSysView.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestImport.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestSystemViewImport.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/cluster/BaseClusteringFunctionalTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestSVNodeDataOptimization.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestWorkspaceManagement.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestWorkspaceRestore.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/lucene/TestErrorLog.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/lucene/TestFileBasedNamespaceMappings.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestByteArrayPersistedValueDataSerialization.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationLogTestLoad.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationVSJavaSerializationTestLoad.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JcrImplSerializationBaseTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/MultipleDeserializationTestLoad.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestEOFException.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationCopyMove.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationVersionRestore.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/ValueStoragePluginTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/fs/TestRandomValueIO.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/impl/storage/value/fs/TestFileIOChannel.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestRemoveFromValueStorage.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/TestValueFileIOHelper.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/tools/tree/generator/RandomValueNodeGenerator.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/lab/cluster/test/TestBLOBValue.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestConcurrentItems.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestExportBigFiles.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/perf/TestPerformance.java
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/usecases/RemoveVDTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/common/TestExportImportAmongSessions.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/version/FileRestoreTest.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/core/query/lucene/TextExtractorJob.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/TextExtractorJob.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/TextExtractorJob.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -203,7 +203,7 @@
final File temp;
try
{
- temp = File.createTempFile("extractor", null);
+ temp = PrivilegedFileHelper.createTempFile("extractor", null);
}
catch (IOException e)
{
@@ -221,7 +221,7 @@
// should never happend actually
if (!temp.delete())
{
- temp.deleteOnExit();
+ PrivilegedFileHelper.deleteOnExit(temp);
}
return r;
}
@@ -250,7 +250,7 @@
// delete file
if (!temp.delete())
{
- temp.deleteOnExit();
+ PrivilegedFileHelper.deleteOnExit(temp);
}
}
};
@@ -265,7 +265,7 @@
if (!temp.delete())
{
- temp.deleteOnExit();
+ PrivilegedFileHelper.deleteOnExit(temp);
}
// use empty string reader as fallback
return new StringReader("");
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FilePersistedValueData.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FilePersistedValueData.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FilePersistedValueData.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -104,7 +104,7 @@
*/
public long getLength()
{
- return file.length();
+ return PrivilegedFileHelper.length(file);
}
/**
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -2389,7 +2389,7 @@
swapFile.spoolDone();
}
- long vlen = swapFile.length();
+ long vlen = PrivilegedFileHelper.length(swapFile);
if (vlen <= Integer.MAX_VALUE)
{
streamLength = (int)vlen;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileIOHelper.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileIOHelper.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileIOHelper.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -82,7 +82,7 @@
{
public Object run() throws Exception
{
- long fileSize = file.length();
+ long fileSize = PrivilegedFileHelper.length(file);
if (fileSize > maxBufferSize)
{
@@ -251,7 +251,8 @@
+ tempFile.getAbsolutePath() + ". Destination: " + file.getAbsolutePath());
}
- copyClose(PrivilegedFileHelper.fileInputStream(tempFile), PrivilegedFileHelper.fileOutputStream(file));
+ copyClose(PrivilegedFileHelper.fileInputStream(tempFile), PrivilegedFileHelper
+ .fileOutputStream(file));
}
}
else
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/SpoolFile.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/SpoolFile.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/SpoolFile.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -34,7 +34,7 @@
* For use in TransienValueData (may be shared in the Workspace cache with another Sessions). Spool
* files used in ValueData for incoming values managed by SpoolFile class. Spool file may be created
* with constructor or be obtained from static method createTempFile(String, String, File), which
- * itself create physical file using File.createTempFile(prefix, suffix, directory) call. Spool file
+ * itself create physical file using PrivilegedFileHelper.createTempFile(prefix, suffix, directory) call. Spool file
* may be acquired for usage by any object (SpoolFile.acquire(Object)). Till this object will call
* release (SpoolFile.release(Object)) or will be garbage collected it's impossible to delete the
* spool file (by File.delete() method).
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/BufferedDecoder.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/BufferedDecoder.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/BufferedDecoder.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -177,8 +177,8 @@
private void swapBuffers() throws IOException
{
byte[] data = ((ByteArrayOutputStream)out).toByteArray();
- fileBuffer = File.createTempFile("decoderBuffer", ".tmp");
- fileBuffer.deleteOnExit();
+ fileBuffer = PrivilegedFileHelper.createTempFile("decoderBuffer", ".tmp");
+ PrivilegedFileHelper.deleteOnExit(fileBuffer);
out = new BufferedOutputStream(PrivilegedFileHelper.fileOutputStream(fileBuffer), bufferSize);
out.write(data);
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/statistics/JCRStatisticsManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/statistics/JCRStatisticsManager.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/statistics/JCRStatisticsManager.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -159,7 +159,7 @@
+ " in the user directory, we will try to create it in the temp directory", e);
try
{
- file = File.createTempFile("Statistics" + category, "-" + System.currentTimeMillis() + ".csv");
+ file = PrivilegedFileHelper.createTempFile("Statistics" + category, "-" + System.currentTimeMillis() + ".csv");
pw = new PrintWriter(file);
}
catch (IOException e1)
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportDocView.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportDocView.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportDocView.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -182,8 +182,8 @@
}
session.save();
- File destFile = File.createTempFile("multyValueExportStream", ".xml");
- destFile.deleteOnExit();
+ File destFile = PrivilegedFileHelper.createTempFile("multyValueExportStream", ".xml");
+ PrivilegedFileHelper.deleteOnExit(destFile);
OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
session.exportDocumentView(testNode.getPath(), outStream, false, false);
outStream.close();
@@ -253,8 +253,8 @@
}
session.save();
- File destFile = File.createTempFile("multyValueExportStream", ".xml");
- destFile.deleteOnExit();
+ File destFile = PrivilegedFileHelper.createTempFile("multyValueExportStream", ".xml");
+ PrivilegedFileHelper.deleteOnExit(destFile);
OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
SAXTransformerFactory saxFact = (SAXTransformerFactory)SAXTransformerFactory.newInstance();
@@ -333,8 +333,8 @@
session.save();
testNode.lock(true, true);
- File destFile = File.createTempFile("docLockNodeExport", ".xml");
- destFile.deleteOnExit();
+ File destFile = PrivilegedFileHelper.createTempFile("docLockNodeExport", ".xml");
+ PrivilegedFileHelper.deleteOnExit(destFile);
OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
session.exportDocumentView(firstNode.getPath(), outStream, false, false);
@@ -354,9 +354,9 @@
{
Session newSession = repository.login(this.credentials /*
- * session.getCredentials
- * ()
- */);
+ * session.getCredentials
+ * ()
+ */);
newSession.setNamespacePrefix("newjcr", "http://www.jcp.org/jcr/1.0");
@@ -383,9 +383,9 @@
{
Session newSession = repository.login(this.credentials /*
- * session.getCredentials
- * ()
- */);
+ * session.getCredentials
+ * ()
+ */);
newSession.setNamespacePrefix("newjcr", "http://www.jcp.org/jcr/1.0");
Node testNode = newSession.getRootNode().addNode("jcr:testExportNamespaceRemaping");
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportImport.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportImport.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportImport.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -64,8 +64,8 @@
testNode.setProperty("prop" + i + "_binary", valList.get(i), PropertyType.BINARY);
}
session.save();
- File destFile = File.createTempFile("testWorkspaceExportImportValuesSysView", ".xml");
- destFile.deleteOnExit();
+ File destFile = PrivilegedFileHelper.createTempFile("testWorkspaceExportImportValuesSysView", ".xml");
+ PrivilegedFileHelper.deleteOnExit(destFile);
OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
session.exportWorkspaceSystemView(outStream, false, false);
outStream.close();
@@ -73,7 +73,8 @@
testNode.remove();
session.save();
- session.importXML(root.getPath(), PrivilegedFileHelper.fileInputStream(destFile), ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW);
+ session.importXML(root.getPath(), PrivilegedFileHelper.fileInputStream(destFile),
+ ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW);
session.save();
@@ -117,8 +118,8 @@
session.save();
- File destFile = File.createTempFile("testExportImportValuesSysView", ".xml");
- destFile.deleteOnExit();
+ File destFile = PrivilegedFileHelper.createTempFile("testExportImportValuesSysView", ".xml");
+ PrivilegedFileHelper.deleteOnExit(destFile);
OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
session.exportSystemView(file.getPath(), outStream, false, false);
outStream.close();
@@ -126,7 +127,8 @@
folder.remove();
session.save();
- session.importXML(root.getPath(), PrivilegedFileHelper.fileInputStream(destFile), ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW);
+ session.importXML(root.getPath(), PrivilegedFileHelper.fileInputStream(destFile),
+ ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW);
session.save();
@@ -141,8 +143,8 @@
testNode.setProperty("prop" + i + "_binary", valList.get(i), PropertyType.BINARY);
}
session.save();
- File destFile = File.createTempFile("testExportImportValuesSysView", ".xml");
- destFile.deleteOnExit();
+ File destFile = PrivilegedFileHelper.createTempFile("testExportImportValuesSysView", ".xml");
+ PrivilegedFileHelper.deleteOnExit(destFile);
OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
session.exportSystemView(testNode.getPath(), outStream, false, false);
outStream.close();
@@ -150,7 +152,8 @@
testNode.remove();
session.save();
- session.importXML(root.getPath(), PrivilegedFileHelper.fileInputStream(destFile), ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW);
+ session.importXML(root.getPath(), PrivilegedFileHelper.fileInputStream(destFile),
+ ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW);
session.save();
@@ -356,8 +359,8 @@
Node destParentNode) throws RepositoryException, IOException, TransformerConfigurationException, SAXException
{
Node exportNode = parentNode.getNode(nodeName);
- File destFile = File.createTempFile("testExportImport", ".xml");
- destFile.deleteOnExit();
+ File destFile = PrivilegedFileHelper.createTempFile("testExportImport", ".xml");
+ PrivilegedFileHelper.deleteOnExit(destFile);
OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
if (isSystemView)
@@ -396,8 +399,8 @@
session.save();
}
- session.importXML(destParentNode != null ? destParentNode.getPath() : root.getPath(), PrivilegedFileHelper.fileInputStream(
- destFile), ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW);
+ session.importXML(destParentNode != null ? destParentNode.getPath() : root.getPath(), PrivilegedFileHelper
+ .fileInputStream(destFile), ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW);
session.save();
assertTrue(parentNode.hasNode(nodeName));
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportSysView.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportSysView.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportSysView.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -168,8 +168,8 @@
Node testNode = root.addNode("refNode");
testNode.addMixin("mix:referenceable");
session.save();
- File destFile = File.createTempFile("testExportReferenceableNodes", ".xml");
- destFile.deleteOnExit();
+ File destFile = PrivilegedFileHelper.createTempFile("testExportReferenceableNodes", ".xml");
+ PrivilegedFileHelper.deleteOnExit(destFile);
OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
session.exportSystemView(testNode.getPath(), outStream, false, false);
outStream.close();
@@ -217,8 +217,8 @@
session.save();
testNode.lock(true, true);
- File destFile = File.createTempFile("sysLockNodeExport", ".xml");
- destFile.deleteOnExit();
+ File destFile = PrivilegedFileHelper.createTempFile("sysLockNodeExport", ".xml");
+ PrivilegedFileHelper.deleteOnExit(destFile);
OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
session.exportSystemView(firstNode.getPath(), outStream, false, false);
@@ -253,7 +253,7 @@
}
session.save();
- File destFile = File.createTempFile("xmlTest", ".xml");
+ File destFile = PrivilegedFileHelper.createTempFile("xmlTest", ".xml");
OutputStream outputStream2 = PrivilegedFileHelper.fileOutputStream(destFile);
SAXTransformerFactory saxFact = (SAXTransformerFactory)TransformerFactory.newInstance();
@@ -313,8 +313,8 @@
}
session.save();
- File destFile = File.createTempFile("sysMultyValueExportStream", ".xml");
- destFile.deleteOnExit();
+ File destFile = PrivilegedFileHelper.createTempFile("sysMultyValueExportStream", ".xml");
+ PrivilegedFileHelper.deleteOnExit(destFile);
OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
session.exportSystemView(testNode.getPath(), outStream, false, false);
outStream.close();
@@ -367,8 +367,8 @@
}
session.save();
- File destFile = File.createTempFile("multyValueExportStreamSkipBinary", ".xml");
- destFile.deleteOnExit();
+ File destFile = PrivilegedFileHelper.createTempFile("multyValueExportStreamSkipBinary", ".xml");
+ PrivilegedFileHelper.deleteOnExit(destFile);
OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
session.exportSystemView(testNode.getPath(), outStream, true, false);
outStream.close();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestImport.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestImport.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestImport.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -109,8 +109,8 @@
assertTrue(accessManager.hasPermission(testRoot.getACL(), PermissionType.SET_PROPERTY, new Identity("exo")));
assertFalse(accessManager.hasPermission(testRoot.getACL(), PermissionType.READ, new Identity("exo")));
- File tmp = File.createTempFile("testAclImpormt", "tmp");
- tmp.deleteOnExit();
+ File tmp = PrivilegedFileHelper.createTempFile("testAclImpormt", "tmp");
+ PrivilegedFileHelper.deleteOnExit(tmp);
serialize(testRoot, false, true, tmp);
testRoot.remove();
session.save();
@@ -154,8 +154,8 @@
assertTrue(accessManager.hasPermission(testRoot.getACL(), PermissionType.SET_PROPERTY, new Identity("exo")));
assertFalse(accessManager.hasPermission(testRoot.getACL(), PermissionType.READ, new Identity("exo")));
- File tmp = File.createTempFile("testAclImpormt", "tmp");
- tmp.deleteOnExit();
+ File tmp = PrivilegedFileHelper.createTempFile("testAclImpormt", "tmp");
+ PrivilegedFileHelper.deleteOnExit(tmp);
serialize(testRoot, true, true, tmp);
testRoot.remove();
session.save();
@@ -495,10 +495,10 @@
}
String versionHistory = testRoot.getVersionHistory().getUUID();
- File versionableNodeContent = File.createTempFile("versionableNodeContent", "tmp");
- File vhNodeContent = File.createTempFile("vhNodeContent", "tmp");
- versionableNodeContent.deleteOnExit();
- vhNodeContent.deleteOnExit();
+ File versionableNodeContent = PrivilegedFileHelper.createTempFile("versionableNodeContent", "tmp");
+ File vhNodeContent = PrivilegedFileHelper.createTempFile("vhNodeContent", "tmp");
+ PrivilegedFileHelper.deleteOnExit(versionableNodeContent);
+ PrivilegedFileHelper.deleteOnExit(vhNodeContent);
serialize(testRoot, false, true, versionableNodeContent);
serialize(testRoot.getVersionHistory(), false, true, vhNodeContent);
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestSystemViewImport.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestSystemViewImport.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestSystemViewImport.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -251,7 +251,7 @@
// export
- File tmp = File.createTempFile("__exojcr_TestSysView__", ".tmp");
+ File tmp = PrivilegedFileHelper.createTempFile("__exojcr_TestSysView__", ".tmp");
OutputStream xmlOut = PrivilegedFileHelper.fileOutputStream(tmp);
sysview.getSession().exportSystemView(ref.getPath(), xmlOut, false, false);
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/cluster/BaseClusteringFunctionalTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/cluster/BaseClusteringFunctionalTest.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/cluster/BaseClusteringFunctionalTest.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -113,7 +113,7 @@
// create test file
byte[] data = new byte[1024]; // 1Kb
- File testFile = File.createTempFile(prefix, ".tmp");
+ File testFile = PrivilegedFileHelper.createTempFile(prefix, ".tmp");
FileOutputStream tempOut = PrivilegedFileHelper.fileOutputStream(testFile);
Random random = new Random();
@@ -123,7 +123,7 @@
tempOut.write(data);
}
tempOut.close();
- testFile.deleteOnExit(); // delete on test exit
+ PrivilegedFileHelper.deleteOnExit(testFile);
return testFile;
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestSVNodeDataOptimization.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestSVNodeDataOptimization.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestSVNodeDataOptimization.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -143,8 +143,8 @@
ses.save();
// Cereate backup
- File backup = File.createTempFile("full-backup", ".xml");
- backup.deleteOnExit();
+ File backup = PrivilegedFileHelper.createTempFile("full-backup", ".xml");
+ PrivilegedFileHelper.deleteOnExit(backup);
ses.exportWorkspaceSystemView(PrivilegedFileHelper.fileOutputStream(backup), false, false);
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestWorkspaceManagement.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestWorkspaceManagement.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestWorkspaceManagement.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -25,6 +25,7 @@
import org.exoplatform.services.jcr.config.RepositoryEntry;
import org.exoplatform.services.jcr.config.WorkspaceEntry;
import org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.util.ConfigurationHelper;
import org.exoplatform.services.jcr.util.IdGenerator;
@@ -139,8 +140,8 @@
public void testAddWorkspaceWithIvalidVs() throws RepositoryConfigurationException, Exception
{
- File file = File.createTempFile("test", ".dat");
- file.deleteOnExit();
+ File file = PrivilegedFileHelper.createTempFile("test", ".dat");
+ PrivilegedFileHelper.deleteOnExit(file);
WorkspaceEntry workspaceEntry =
helper.getNewWs("WsInvalidVs", isDefaultWsMultiDb, wsEntry.getContainer().getParameterValue(
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestWorkspaceRestore.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestWorkspaceRestore.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestWorkspaceRestore.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -68,8 +68,8 @@
node1.setProperty("p1", 2);
defSession.save();
- File content = File.createTempFile("data", ".xml");
- content.deleteOnExit();
+ File content = PrivilegedFileHelper.createTempFile("data", ".xml");
+ PrivilegedFileHelper.deleteOnExit(content);
OutputStream os = new BufferedOutputStream(PrivilegedFileHelper.fileOutputStream(content));
defSession.exportSystemView(defRoot.getPath(), os, false, false);
os.close();
@@ -86,7 +86,8 @@
defRep = (RepositoryImpl)service.getDefaultRepository();
defRep.configWorkspace(workspaceEntry);
- defRep.importWorkspace(workspaceEntry.getName(), new BufferedInputStream(PrivilegedFileHelper.fileInputStream(content)));
+ defRep.importWorkspace(workspaceEntry.getName(), new BufferedInputStream(PrivilegedFileHelper
+ .fileInputStream(content)));
doTestOnWorkspace(workspaceEntry.getName());
}
@@ -136,8 +137,8 @@
node1.setProperty("p1", 2);
defSession.save();
- File content = File.createTempFile("data", ".xml");
- content.deleteOnExit();
+ File content = PrivilegedFileHelper.createTempFile("data", ".xml");
+ PrivilegedFileHelper.deleteOnExit(content);
OutputStream os = new BufferedOutputStream(PrivilegedFileHelper.fileOutputStream(content));
defSession.exportSystemView(node1.getPath(), os, false, false);
os.close();
@@ -156,7 +157,8 @@
try
{
- defRep.importWorkspace(workspaceEntry.getName(), new BufferedInputStream(PrivilegedFileHelper.fileInputStream(content)));
+ defRep.importWorkspace(workspaceEntry.getName(), new BufferedInputStream(PrivilegedFileHelper
+ .fileInputStream(content)));
fail();
}
catch (RepositoryException e)
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/lucene/TestErrorLog.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/lucene/TestErrorLog.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/lucene/TestErrorLog.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -19,6 +19,7 @@
import org.exoplatform.services.jcr.impl.core.query.BaseQueryTest;
import org.exoplatform.services.jcr.impl.core.query.ErrorLog;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.util.HashSet;
@@ -31,132 +32,158 @@
*
* @version $Id: $
*/
-public class TestErrorLog extends BaseQueryTest {
- ErrorLog log;
+public class TestErrorLog extends BaseQueryTest
+{
+ ErrorLog log;
- File file;
+ File file;
- private static final int SIZE = 100;
+ private static final int SIZE = 100;
- public void setUp() throws Exception {
- super.setUp();
- file = File.createTempFile("error", "log");
- if (file.exists()) {
- file.delete();
- }
- }
+ @Override
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ file = PrivilegedFileHelper.createTempFile("error", "log");
+ if (file.exists())
+ {
+ file.delete();
+ }
+ }
- public void tearDown() throws Exception {
- super.tearDown();
- log.clear();
- file.delete();
- }
+ @Override
+ public void tearDown() throws Exception
+ {
+ super.tearDown();
+ log.clear();
+ file.delete();
+ }
- public void testConcurrentWrite() throws Exception {
+ public void testConcurrentWrite() throws Exception
+ {
- class Loader extends Thread {
- private String name;
+ class Loader extends Thread
+ {
+ private String name;
- public Loader(String n) {
- name = n;
- }
+ public Loader(String n)
+ {
+ name = n;
+ }
- public void run() {
- /*
- * try { for (int i = 0; i < SIZE; i++) {
- * log.append(ErrorLog.ADD,name + i); //System.out.println(name
- * + i); } log.flush(); } catch (Exception e) {
- * System.out.println(e); }
- */
+ @Override
+ public void run()
+ {
+ /*
+ * try { for (int i = 0; i < SIZE; i++) {
+ * log.append(ErrorLog.ADD,name + i); //System.out.println(name
+ * + i); } log.flush(); } catch (Exception e) {
+ * System.out.println(e); }
+ */
- try {
- HashSet<String> add = new HashSet<String>();
- HashSet<String> rem = new HashSet<String>();
+ try
+ {
+ HashSet<String> add = new HashSet<String>();
+ HashSet<String> rem = new HashSet<String>();
- for (int j = 0; j < 10; j++) {
- add.clear();
- for (int i = 0; i < 10; i++) {
- int el = j * 10 + i;
- add.add(name + el);
- }
- log.writeChanges(rem, add);
- }
+ for (int j = 0; j < 10; j++)
+ {
+ add.clear();
+ for (int i = 0; i < 10; i++)
+ {
+ int el = j * 10 + i;
+ add.add(name + el);
+ }
+ log.writeChanges(rem, add);
+ }
- } catch (Exception e) {
- System.out.println(e);
- }
- }
- }
+ }
+ catch (Exception e)
+ {
+ System.out.println(e);
+ }
+ }
+ }
- log = new ErrorLog(file, SearchIndex.DEFAULT_ERRORLOG_FILE_SIZE);
+ log = new ErrorLog(file, SearchIndex.DEFAULT_ERRORLOG_FILE_SIZE);
- Thread one = new Loader("first");
- Thread two = new Loader("second");
- one.start();
- two.start();
- one.join();
- two.join();
+ Thread one = new Loader("first");
+ Thread two = new Loader("second");
+ one.start();
+ two.start();
+ one.join();
+ two.join();
- List<String> list = log.readList();
+ List<String> list = log.readList();
- int lost_first = 0;
- int lost_second = 0;
- for (int i = 0; i < SIZE; i++) {
- String firstname = ErrorLog.ADD + " first" + i;
- String secondname = ErrorLog.ADD + " second" + i;
- int ffinded = 0;
- int sfinded = 0;
- for (int j = 0; j < list.size(); j++) {
- if (list.get(j).equals(firstname)) {
- ffinded++;
- }
- if (list.get(j).equals(secondname)) {
- sfinded++;
- }
- }
- if (ffinded == 0) {
- System.out.println(firstname + " NOT FINDED");
- }
- if (ffinded > 1) {
- System.out.println(firstname + " DUPLICATED");
- }
- if (sfinded == 0) {
- System.out.println(secondname + " NOT FINDED");
- }
- if (sfinded > 1) {
- System.out.println(secondname + " DUPLICATED");
- }
- }
+ int lost_first = 0;
+ int lost_second = 0;
+ for (int i = 0; i < SIZE; i++)
+ {
+ String firstname = ErrorLog.ADD + " first" + i;
+ String secondname = ErrorLog.ADD + " second" + i;
+ int ffinded = 0;
+ int sfinded = 0;
+ for (int j = 0; j < list.size(); j++)
+ {
+ if (list.get(j).equals(firstname))
+ {
+ ffinded++;
+ }
+ if (list.get(j).equals(secondname))
+ {
+ sfinded++;
+ }
+ }
+ if (ffinded == 0)
+ {
+ System.out.println(firstname + " NOT FINDED");
+ }
+ if (ffinded > 1)
+ {
+ System.out.println(firstname + " DUPLICATED");
+ }
+ if (sfinded == 0)
+ {
+ System.out.println(secondname + " NOT FINDED");
+ }
+ if (sfinded > 1)
+ {
+ System.out.println(secondname + " DUPLICATED");
+ }
+ }
- assertEquals("There is mismatch of expected writed messages count ",
- 200, list.size());
- assertEquals("First thread has lost apdates", 0, lost_first);
- assertEquals("Second thread has lost apdates", 0, lost_second);
- }
+ assertEquals("There is mismatch of expected writed messages count ", 200, list.size());
+ assertEquals("First thread has lost apdates", 0, lost_first);
+ assertEquals("Second thread has lost apdates", 0, lost_second);
+ }
- public void testExctractNotifyList() throws Exception {
- log = new ErrorLog(file, SearchIndex.DEFAULT_ERRORLOG_FILE_SIZE);
+ public void testExctractNotifyList() throws Exception
+ {
+ log = new ErrorLog(file, SearchIndex.DEFAULT_ERRORLOG_FILE_SIZE);
- Set<String> removed = new HashSet<String>();
- Set<String> added = new HashSet<String>();
+ Set<String> removed = new HashSet<String>();
+ Set<String> added = new HashSet<String>();
- for (int i = 0; i < 10; i++) {
- added.add("uuidadd" + i);
- }
+ for (int i = 0; i < 10; i++)
+ {
+ added.add("uuidadd" + i);
+ }
- for (int i = 0; i < 5; i++) {
- removed.add("uuidrem" + i);
- }
+ for (int i = 0; i < 5; i++)
+ {
+ removed.add("uuidrem" + i);
+ }
- log.writeChanges(removed, added);
+ log.writeChanges(removed, added);
- Set<String> rem = new HashSet<String>();
- Set<String> add = new HashSet<String>();
+ Set<String> rem = new HashSet<String>();
+ Set<String> add = new HashSet<String>();
- log.readChanges(rem, add);
+ log.readChanges(rem, add);
- assertTrue(rem.containsAll(removed));
- assertTrue(add.containsAll(added));
- }
+ assertTrue(rem.containsAll(removed));
+ assertTrue(add.containsAll(added));
+ }
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/lucene/TestFileBasedNamespaceMappings.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/lucene/TestFileBasedNamespaceMappings.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/lucene/TestFileBasedNamespaceMappings.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -54,7 +54,7 @@
@Override
public void setUp() throws Exception
{
- test_mapp = File.createTempFile("temp", "mapping");
+ test_mapp = PrivilegedFileHelper.createTempFile("temp", "mapping");
// Fill the namespace mappings file by prefix uri pairs
@@ -73,7 +73,7 @@
props.store(PrivilegedFileHelper.fileOutputStream(test_mapp), "");
props.clear();
- test_mapp.deleteOnExit();
+ PrivilegedFileHelper.deleteOnExit(test_mapp);
}
@Override
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestByteArrayPersistedValueDataSerialization.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestByteArrayPersistedValueDataSerialization.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestByteArrayPersistedValueDataSerialization.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -49,8 +49,8 @@
// Create ValueData instants
ByteArrayPersistedValueData vd = new ByteArrayPersistedValueData(11, buf);
- File out = File.createTempFile("test", ".data");
- out.deleteOnExit();
+ File out = PrivilegedFileHelper.createTempFile("test", ".data");
+ PrivilegedFileHelper.deleteOnExit(out);
//serialize
ObjectOutputStream oos = new ObjectOutputStream(PrivilegedFileHelper.fileOutputStream(out));
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationLogTestLoad.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationLogTestLoad.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationLogTestLoad.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -68,7 +68,7 @@
long jcrwrite = 0;
long jcrread = 0;
- File jcrfile = File.createTempFile("jcr", "test");
+ File jcrfile = PrivilegedFileHelper.createTempFile("jcr", "test");
ObjectWriterImpl jcrout = new ObjectWriterImpl(PrivilegedFileHelper.fileOutputStream(jcrfile));
System.out.println(" WRITE START");
@@ -108,7 +108,7 @@
long javaWrite = 0;
long javaRead = 0;
- File jfile = File.createTempFile("java", "test");
+ File jfile = PrivilegedFileHelper.createTempFile("java", "test");
ObjectOutputStream jout = new ObjectOutputStream(PrivilegedFileHelper.fileOutputStream(jfile));
it = logs.iterator();
@@ -137,7 +137,7 @@
System.out.println(" JCR s- " + (jcrwrite));
// System.out.println(" Java s- " + (javaWrite));
- System.out.println(" JCR file size - " + jcrfile.length());
+ System.out.println(" JCR file size - " + PrivilegedFileHelper.length(jcrfile));
// System.out.println(" Java file size - " + jfile.length());
System.out.println(" JCR des- " + (jcrread));
// System.out.println(" Java des- " + (javaRead));
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationVSJavaSerializationTestLoad.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationVSJavaSerializationTestLoad.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationVSJavaSerializationTestLoad.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -75,7 +75,7 @@
it = list.iterator();
- File jcrfile = File.createTempFile("jcr", "test");
+ File jcrfile = PrivilegedFileHelper.createTempFile("jcr", "test");
ObjectWriterImpl jcrout = new ObjectWriterImpl(PrivilegedFileHelper.fileOutputStream(jcrfile));
long t1 = System.currentTimeMillis();
@@ -112,7 +112,7 @@
long javaRead = 0;
for (int j = 0; j < iterations; j++)
{
- File jfile = File.createTempFile("java", "test");
+ File jfile = PrivilegedFileHelper.createTempFile("java", "test");
ObjectOutputStream jout = new ObjectOutputStream(PrivilegedFileHelper.fileOutputStream(jfile));
it = list.iterator();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JcrImplSerializationBaseTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JcrImplSerializationBaseTest.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JcrImplSerializationBaseTest.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -104,7 +104,7 @@
protected File serializeLogs(List<TransactionChangesLog> logs) throws IOException, UnknownClassIdException
{
- File jcrfile = File.createTempFile("jcr", "test");
+ File jcrfile = PrivilegedFileHelper.createTempFile("jcr", "test");
ObjectWriterImpl jcrout = new ObjectWriterImpl(PrivilegedFileHelper.fileOutputStream(jcrfile));
TransactionChangesLogWriter wr = new TransactionChangesLogWriter();
@@ -184,8 +184,8 @@
}
else
{
- File file = File.createTempFile("tempFile", "tmp");
- file.deleteOnExit();
+ File file = PrivilegedFileHelper.createTempFile("tempFile", "tmp");
+ PrivilegedFileHelper.deleteOnExit(file);
copy(((StreamPersistedValueData)valueData).getStream(), PrivilegedFileHelper
.fileOutputStream(file));
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/MultipleDeserializationTestLoad.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/MultipleDeserializationTestLoad.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/MultipleDeserializationTestLoad.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -126,7 +126,7 @@
root.save();
// Serialize with JCR
- File jcrfile = File.createTempFile("jcr", "test");
+ File jcrfile = PrivilegedFileHelper.createTempFile("jcr", "test");
ObjectWriterImpl jcrout = new ObjectWriterImpl(PrivilegedFileHelper.fileOutputStream(jcrfile));
TransactionChangesLog l = pl.pushChanges().get(0);
TransactionChangesLogWriter wr = new TransactionChangesLogWriter();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestEOFException.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestEOFException.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestEOFException.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -42,7 +42,7 @@
{
final byte[] buffer = createBLOBTempData(45);
- File test = File.createTempFile("testEOF", "");
+ File test = PrivilegedFileHelper.createTempFile("testEOF", "");
ObjectWriter ow = new ObjectWriterImpl(PrivilegedFileHelper.fileOutputStream(test));
ow.write(buffer);
@@ -72,7 +72,7 @@
public void testReadBoolean() throws Exception
{
- File test = File.createTempFile("testEOF", "");
+ File test = PrivilegedFileHelper.createTempFile("testEOF", "");
ObjectWriter ow = new ObjectWriterImpl(PrivilegedFileHelper.fileOutputStream(test));
ow.writeBoolean(true);
@@ -101,7 +101,7 @@
public void testReadInt() throws Exception
{
- File test = File.createTempFile("testEOF", "");
+ File test = PrivilegedFileHelper.createTempFile("testEOF", "");
ObjectWriter ow = new ObjectWriterImpl(PrivilegedFileHelper.fileOutputStream(test));
ow.writeInt(24);
@@ -131,7 +131,7 @@
public void testReadLong() throws Exception
{
- File test = File.createTempFile("testEOF", "");
+ File test = PrivilegedFileHelper.createTempFile("testEOF", "");
ObjectWriter ow = new ObjectWriterImpl(PrivilegedFileHelper.fileOutputStream(test));
ow.writeLong(24);
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationCopyMove.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationCopyMove.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationCopyMove.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -121,9 +121,9 @@
TesterItemsPersistenceListener pl = new TesterItemsPersistenceListener(this.session);
File tempFile = this.createBLOBTempFile(160);
- tempFile.deleteOnExit();
+ PrivilegedFileHelper.deleteOnExit(tempFile);
- log.info("MOVE: file size = " + tempFile.length() + " bytes");
+ log.info("MOVE: file size = " + PrivilegedFileHelper.length(tempFile) + " bytes");
Node file = root.addNode("testMove_", "nt:folder").addNode("childNode2", "nt:file");
Node contentNode = file.addNode("jcr:content", "nt:resource");
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationVersionRestore.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationVersionRestore.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationVersionRestore.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -91,12 +91,12 @@
{
TesterItemsPersistenceListener pl = new TesterItemsPersistenceListener(this.session);
- File tempFile = File.createTempFile("tempFile", "doc");
- File tempFile2 = File.createTempFile("tempFile", "doc");
- File tempFile3 = File.createTempFile("tempFile", "doc");
- tempFile.deleteOnExit();
- tempFile2.deleteOnExit();
- tempFile3.deleteOnExit();
+ File tempFile = PrivilegedFileHelper.createTempFile("tempFile", "doc");
+ File tempFile2 = PrivilegedFileHelper.createTempFile("tempFile", "doc");
+ File tempFile3 = PrivilegedFileHelper.createTempFile("tempFile", "doc");
+ PrivilegedFileHelper.deleteOnExit(tempFile);
+ PrivilegedFileHelper.deleteOnExit(tempFile2);
+ PrivilegedFileHelper.deleteOnExit(tempFile3);
FileOutputStream fos = PrivilegedFileHelper.fileOutputStream(tempFile);
FileOutputStream fos2 = PrivilegedFileHelper.fileOutputStream(tempFile2);
@@ -117,9 +117,9 @@
fos2.close();
fos3.close();
- log.info("FILE for VERVION #1 : file size = " + tempFile.length() + " bytes");
- log.info("FILE for VERVION #2 : file size = " + tempFile2.length() + " bytes");
- log.info("FILE for VERVION #3 : file size = " + tempFile3.length() + " bytes");
+ log.info("FILE for VERVION #1 : file size = " + PrivilegedFileHelper.length(tempFile) + " bytes");
+ log.info("FILE for VERVION #2 : file size = " + PrivilegedFileHelper.length(tempFile2) + " bytes");
+ log.info("FILE for VERVION #3 : file size = " + PrivilegedFileHelper.length(tempFile3) + " bytes");
Node srcVersionNode = root.addNode("nt_file_node", "nt:file");
Node contentNode = srcVersionNode.addNode("jcr:content", "nt:resource");
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/ValueStoragePluginTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/ValueStoragePluginTest.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/ValueStoragePluginTest.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -195,8 +195,8 @@
Node content = lbf.getNode("jcr:content");
// comparing with source file
- compareStream(new BufferedInputStream(PrivilegedFileHelper.fileInputStream(blobFiles.get(j))), content.getProperty(
- "jcr:data").getStream());
+ compareStream(new BufferedInputStream(PrivilegedFileHelper.fileInputStream(blobFiles.get(j))), content
+ .getProperty("jcr:data").getStream());
}
n1.remove();
currenSession.save();
@@ -229,7 +229,7 @@
// create test file
byte[] data = new byte[1024]; // 1Kb
- File testFile = File.createTempFile(IdGenerator.generate(), ".tmp");
+ File testFile = PrivilegedFileHelper.createTempFile(IdGenerator.generate(), ".tmp");
FileOutputStream tempOut = PrivilegedFileHelper.fileOutputStream(testFile);
Random random = new Random();
@@ -246,8 +246,8 @@
tempOut.write(data);
}
tempOut.close();
- testFile.deleteOnExit(); // delete on test exit
- log.info("Temp file created: " + testFile.getAbsolutePath() + " size: " + testFile.length());
+ PrivilegedFileHelper.deleteOnExit(testFile);
+ log.info("Temp file created: " + testFile.getAbsolutePath() + " size: " + PrivilegedFileHelper.length(testFile));
return testFile;
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/fs/TestRandomValueIO.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/fs/TestRandomValueIO.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/fs/TestRandomValueIO.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -62,7 +62,7 @@
if (testFile == null)
{
testFile = createBLOBTempFile(this.getClass().getSimpleName() + "_", 2 * 1024); // 2M
- testFile.deleteOnExit();
+ PrivilegedFileHelper.deleteOnExit(testFile);
}
root.getNodes();
@@ -425,7 +425,7 @@
// test after save
// first 2M of stream data must be same as on setProperty()
compareStream(PrivilegedFileHelper.fileInputStream(testFile), testRoot.getProperty(pname).getStream(), 0, 0,
- testFile.length());
+ PrivilegedFileHelper.length(testFile));
compareStream(new ByteArrayInputStream(update1String.getBytes()), testRoot.getProperty(pname).getStream(), 0,
pos, update1String.length());
@@ -452,15 +452,15 @@
long fmem = Runtime.getRuntime().freeMemory();
- exv.update(PrivilegedFileHelper.fileInputStream(testFile), testFile.length(), pos);
+ exv.update(PrivilegedFileHelper.fileInputStream(testFile), PrivilegedFileHelper.length(testFile), pos);
long fmemAfter = Runtime.getRuntime().freeMemory();
- if ((fmemAfter - fmem) >= (pos + testFile.length()))
+ if ((fmemAfter - fmem) >= (pos + PrivilegedFileHelper.length(testFile)))
log.warn("Free memory must not be increased on value of the new Value size but does. Was " + fmem
+ " current " + fmemAfter);
- assertEquals("Value data length must be increased ", pos + testFile.length(), exv.getLength());
+ assertEquals("Value data length must be increased ", pos + PrivilegedFileHelper.length(testFile), exv.getLength());
// apply to the Property and save
p.setValue(exv);
@@ -468,11 +468,12 @@
EditableBinaryValue newexv = (EditableBinaryValue)testRoot.getProperty(pname).getValue();
- assertEquals("Value data length must be increased ", pos + testFile.length(), newexv.getLength());
+ assertEquals("Value data length must be increased ", pos + PrivilegedFileHelper.length(testFile), newexv
+ .getLength());
// update inside the big data
int npos = 5;
- newexv.update(PrivilegedFileHelper.fileInputStream(testFile), testFile.length(), npos);
+ newexv.update(PrivilegedFileHelper.fileInputStream(testFile), PrivilegedFileHelper.length(testFile), npos);
// apply to the Property and save
p.setValue(newexv);
@@ -484,7 +485,7 @@
assertEquals("Value content is wrong ", content.substring(0, npos), new String(buff));
compareStream(PrivilegedFileHelper.fileInputStream(testFile), testRoot.getProperty(pname).getStream(), 0, npos,
- testFile.length());
+ PrivilegedFileHelper.length(testFile));
}
public void testAddLength_BigValue() throws Exception
@@ -628,7 +629,7 @@
Property p = testRoot.setProperty(pname, PrivilegedFileHelper.fileInputStream(testFile));
EditableBinaryValue exv = (EditableBinaryValue)p.getValue();
- long pos = exv.getLength() - (testFile.length() - 20);
+ long pos = exv.getLength() - (PrivilegedFileHelper.length(testFile) - 20);
exv.setLength(pos);
@@ -784,7 +785,7 @@
String update1String = "update#1";
- long pos = testFile.length();
+ long pos = PrivilegedFileHelper.length(testFile);
exv.update(new ByteArrayInputStream(update1String.getBytes()), update1String.length(), pos);
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-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/CASableFileIOChannelTestBase.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -123,7 +123,8 @@
assertTrue("File should exists " + vsfile.getAbsolutePath(), vsfile.exists());
InputStream etalon, tested;
- compareStream(etalon = PrivilegedFileHelper.fileInputStream(testFile), tested = PrivilegedFileHelper.fileInputStream(vsfile));
+ compareStream(etalon = PrivilegedFileHelper.fileInputStream(testFile), tested =
+ PrivilegedFileHelper.fileInputStream(vsfile));
etalon.close();
tested.close();
}
@@ -152,7 +153,8 @@
try
{
fch = openCASChannel(digestType);
- fch.write(new String(propertyId), new StreamPersistedValueData(0, PrivilegedFileHelper.fileInputStream(testFile)));
+ fch.write(new String(propertyId), new StreamPersistedValueData(0, PrivilegedFileHelper
+ .fileInputStream(testFile)));
fch.commit();
fail("RecordAlreadyExistsException should be thrown, record exists");
@@ -326,8 +328,8 @@
CASableIOSupport.HASHFILE_ORDERNUMBER));
assertTrue("File should exists " + vsfile.getAbsolutePath(), vsfile.exists());
- assertEquals("Storage size must be increased on size of ONE file ", initialSize + testFile.length(),
- calcDirSize(rootDir));
+ assertEquals("Storage size must be increased on size of ONE file ", initialSize
+ + PrivilegedFileHelper.length(testFile), calcDirSize(rootDir));
}
/**
@@ -347,7 +349,7 @@
for (int i = 0; i < 20; i++)
{
File f = createBLOBTempFile(300);
- addedSize += f.length();
+ addedSize += PrivilegedFileHelper.length(f);
fch.write(propertyId, new StreamPersistedValueData(i, PrivilegedFileHelper.fileInputStream(f)));
}
fch.commit();
@@ -382,8 +384,8 @@
fch.commit();
}
- assertEquals("Storage size must be increased on size of ONE file ", initialSize + testFile.length(),
- calcDirSize(rootDir));
+ assertEquals("Storage size must be increased on size of ONE file ", initialSize
+ + PrivilegedFileHelper.length(testFile), calcDirSize(rootDir));
}
/**
@@ -404,7 +406,7 @@
propertyId = IdGenerator.generate();
File f = createBLOBTempFile(300);
- addedSize += f.length();
+ addedSize += PrivilegedFileHelper.length(f);
FileIOChannel fch = openCASChannel(digestType);
fch.write(propertyId, new StreamPersistedValueData(i, PrivilegedFileHelper.fileInputStream(f)));
@@ -446,8 +448,8 @@
fch.delete(propertyId);
fch.commit();
- assertEquals("Storage size must be unchanged after the delete ", initialSize + testFile.length(),
- calcDirSize(rootDir));
+ assertEquals("Storage size must be unchanged after the delete ", initialSize
+ + PrivilegedFileHelper.length(testFile), calcDirSize(rootDir));
}
/**
@@ -475,7 +477,7 @@
propertyId = pid;
File f = createBLOBTempFile(fileSizeKb);
- addedSize += (fileSize = f.length());
+ addedSize += (fileSize = PrivilegedFileHelper.length(f));
FileIOChannel fch = openCASChannel(digestType);
fch.write(pid, new StreamPersistedValueData(i, PrivilegedFileHelper.fileInputStream(f)));
@@ -516,7 +518,7 @@
for (int i = 0; i < 5; i++)
{
File f = createBLOBTempFile(450);
- addedSize += (m1fileSize = f.length());
+ addedSize += (m1fileSize = PrivilegedFileHelper.length(f));
StreamPersistedValueData v = new StreamPersistedValueData(i, PrivilegedFileHelper.fileInputStream(f));
@@ -548,7 +550,7 @@
// new file
m2filesCount++;
File f = createBLOBTempFile(350);
- addedSize += (m2fileSize = f.length()); // add size
+ addedSize += (m2fileSize = PrivilegedFileHelper.length(f)); // add size
v = new StreamPersistedValueData(i, PrivilegedFileHelper.fileInputStream(f));
}
fch.write(property2MultivaluedId, v);
@@ -576,7 +578,7 @@
else
{
File f = createBLOBTempFile(425);
- addedSize += f.length();
+ addedSize += PrivilegedFileHelper.length(f);
v = new StreamPersistedValueData(i, PrivilegedFileHelper.fileInputStream(f));
}
FileIOChannel vfch = openCASChannel(digestType);
@@ -644,7 +646,7 @@
if (sf.isDirectory())
size += calcDirSize(sf);
else
- size += sf.length();
+ size += PrivilegedFileHelper.length(sf);
}
return size;
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestFileIOChannel.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestFileIOChannel.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestFileIOChannel.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -73,7 +73,7 @@
byte[] buf = "0123456789".getBytes();
File file = PrivilegedFileHelper.file(rootDir, "testReadFromIOChannel0");
- file.deleteOnExit();
+ PrivilegedFileHelper.deleteOnExit(file);
if (file.exists())
file.delete();
FileOutputStream out = PrivilegedFileHelper.fileOutputStream(file);
@@ -140,7 +140,7 @@
assertTrue(PrivilegedFileHelper.file(rootDir, "testWriteToIOChannel1").exists());
assertTrue(PrivilegedFileHelper.file(rootDir, "testWriteToIOChannel2").exists());
- assertEquals(10, PrivilegedFileHelper.file(rootDir, "testWriteToIOChannel0").length());
+ assertEquals(10, PrivilegedFileHelper.length(PrivilegedFileHelper.file(rootDir, "testWriteToIOChannel0")));
channel.delete("testWriteToIOChannel");
channel.commit();
@@ -158,7 +158,7 @@
File f = channel.getFile("testWriteUpdate", 0);
assertTrue(f.exists());
- assertEquals(10, f.length());
+ assertEquals(10, PrivilegedFileHelper.length(f));
byte[] buf1 = "qwerty".getBytes();
channel.write("testWriteUpdate", testerTransientValueData.getTransientValueData(buf1, 0));
@@ -166,7 +166,7 @@
f = channel.getFile("testWriteUpdate", 0);
assertTrue(f.exists());
- assertEquals(6, f.length());
+ assertEquals(6, PrivilegedFileHelper.length(f));
channel.delete("testWriteUpdate");
channel.commit();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestRemoveFromValueStorage.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestRemoveFromValueStorage.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestRemoveFromValueStorage.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -22,6 +22,7 @@
import org.exoplatform.services.jcr.datamodel.PropertyData;
import org.exoplatform.services.jcr.impl.core.PropertyImpl;
import org.exoplatform.services.jcr.impl.core.SessionImpl;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.storage.value.ValueIOChannel;
import org.exoplatform.services.jcr.storage.value.ValueStoragePluginProvider;
@@ -98,7 +99,7 @@
generator.nextBytes(smallValue);
values[i] = testRoot.getSession().getValueFactory().createValue(new ByteArrayInputStream(smallValue));
}
-
+
if (values.length == 1)
{
prop = testRoot.setProperty("binaryProperty", values[0]);
@@ -154,7 +155,7 @@
// TreeFileIOChannel always returns a File. But if this file doesn't
// really exists is size is 0.
File value = channels.get(i).getFile(propertyId, i);
- if (value.length() == 0)
+ if (PrivilegedFileHelper.length(value) == 0)
{
throw new Exception("");
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/TestValueFileIOHelper.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/TestValueFileIOHelper.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/TestValueFileIOHelper.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -96,13 +96,13 @@
if (src == null || !src.exists())
{
src = createBLOBTempFile(7 * 1024); // 7M
- src.deleteOnExit();
+ PrivilegedFileHelper.deleteOnExit(src);
}
if (srcSerialization == null || !srcSerialization.exists())
{
- srcSerialization = File.createTempFile("srcSerialization", ".tmp");
- srcSerialization.deleteOnExit();
+ srcSerialization = PrivilegedFileHelper.createTempFile("srcSerialization", ".tmp");
+ PrivilegedFileHelper.deleteOnExit(srcSerialization);
OutputStream out = PrivilegedFileHelper.fileOutputStream(srcSerialization);
ObjectWriter ow = new ObjectWriterImpl(out);
@@ -126,7 +126,7 @@
testDir = PrivilegedFileHelper.file("target/TestValueFileIOHelper");
testDir.mkdirs();
- dest = File.createTempFile("vdftest", "", testDir);
+ dest = PrivilegedFileHelper.createTempFile("vdftest", "", testDir);
}
@Override
@@ -140,7 +140,7 @@
public void testCopySerialization() throws Exception
{
- System.out.println("=== test Serialization, file size: " + srcSerialization.length());
+ System.out.println("=== test Serialization, file size: " + PrivilegedFileHelper.length(srcSerialization));
// copy via InputStream
long start = System.currentTimeMillis();
@@ -174,7 +174,7 @@
// clean and recreate file
dest.delete();
- dest = File.createTempFile("vdftest", "", testDir);
+ dest = PrivilegedFileHelper.createTempFile("vdftest", "", testDir);
// copy via NIO
start = System.currentTimeMillis();
@@ -204,7 +204,7 @@
+ (System.currentTimeMillis() - start));
// check length
- assertEquals(srcSerialization.length(), dest.length());
+ assertEquals(PrivilegedFileHelper.length(srcSerialization), PrivilegedFileHelper.length(dest));
}
public void testCopyFileToFile() throws Exception
@@ -213,7 +213,7 @@
io.copyClose(PrivilegedFileHelper.fileInputStream(src), PrivilegedFileHelper.fileOutputStream(dest));
// check length
- assertEquals(src.length(), dest.length());
+ assertEquals(PrivilegedFileHelper.length(src), PrivilegedFileHelper.length(dest));
// check content
// InputStream srcin = PrivilegedFileHelper.fileInputStream(src);
@@ -229,7 +229,7 @@
public void testCopyBytesToFile() throws Exception
{
- System.out.println("=== test copyBytesToFile, file size: " + src.length());
+ System.out.println("=== test copyBytesToFile, file size: " + PrivilegedFileHelper.length(src));
// copy via InputStream
long start = System.currentTimeMillis();
@@ -257,17 +257,18 @@
// clean and recreate file
dest.delete();
- dest = File.createTempFile("vdftest", "", testDir);
+ dest = PrivilegedFileHelper.createTempFile("vdftest", "", testDir);
// copy via NIO
start = System.currentTimeMillis();
- io.copyClose(new BufferedInputStream(PrivilegedFileHelper.fileInputStream(src)), PrivilegedFileHelper.fileOutputStream(dest));
+ io.copyClose(new BufferedInputStream(PrivilegedFileHelper.fileInputStream(src)), PrivilegedFileHelper
+ .fileOutputStream(dest));
// io.copyClose(new URL("http://jboss1.exoua-int:8089/browser/02.zip").openStream(), new
// FileOutputStream(dest));
System.out.println("\t=== NIO time " + (System.currentTimeMillis() - start));
// check length
- assertEquals(src.length(), dest.length());
+ assertEquals(PrivilegedFileHelper.length(src), PrivilegedFileHelper.length(dest));
// check content
// InputStream srcin = PrivilegedFileHelper.fileInputStream(src);
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/tools/tree/generator/RandomValueNodeGenerator.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/tools/tree/generator/RandomValueNodeGenerator.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/tools/tree/generator/RandomValueNodeGenerator.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -176,7 +176,7 @@
// create test file
byte[] data = new byte[1024]; // 1Kb
- File testFile = File.createTempFile("randomsizefile", ".tmp");
+ File testFile = PrivilegedFileHelper.createTempFile("randomsizefile", ".tmp");
FileOutputStream tempOut = PrivilegedFileHelper.fileOutputStream(testFile);
for (int i = 0; i < sizeInb; i += 1024)
@@ -192,8 +192,8 @@
tempOut.write(data);
}
tempOut.close();
- testFile.deleteOnExit(); // delete on test exit
- log.info("Temp file created: " + testFile.getAbsolutePath() + " size: " + testFile.length());
+ PrivilegedFileHelper.deleteOnExit(testFile);
+ log.info("Temp file created: " + testFile.getAbsolutePath() + " size: " + PrivilegedFileHelper.length(testFile));
return testFile;
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/lab/cluster/test/TestBLOBValue.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/lab/cluster/test/TestBLOBValue.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/lab/cluster/test/TestBLOBValue.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -117,7 +117,7 @@
size += r;
}
- assertEquals(testFile.length(), size);
+ assertEquals(PrivilegedFileHelper.length(testFile), size);
}
// for read on another node of a cluster
@@ -135,7 +135,7 @@
size += r;
}
- assertEquals(testFile.length(), size);
+ assertEquals(PrivilegedFileHelper.length(testFile), size);
}
public void testAddNTFiles() throws Exception
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestConcurrentItems.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestConcurrentItems.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestConcurrentItems.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -88,7 +88,7 @@
{
// create test file
testFile = createBLOBTempFile(1024);
- dataSize = (int)testFile.length();
+ dataSize = (int)PrivilegedFileHelper.length(testFile);
TEST_FILE = testFile.getAbsolutePath();
}
else
@@ -254,9 +254,9 @@
repository
.login(
this.credentials /*
- * session.getCredentials(
- * )
- */,
+ * session.getCredentials(
+ * )
+ */,
"ws1"));
readed.start();
readers.add(readed);
@@ -271,10 +271,12 @@
}
log.info("Begin cleaner...");
- DeleteThread cleaner = new DeleteThread(repository.login(this.credentials /*
- * session.getCredentials
- * ()
- */, "ws1"));
+ DeleteThread cleaner =
+ new DeleteThread(repository.login(this.credentials /*
+ * session.getCredentials
+ * ()
+ */,
+ "ws1"));
cleaner.start();
log.info("<<<<<<<<<<<<<<<<<<<< Wait cycle >>>>>>>>>>>>>>>>>>>>>");
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestExportBigFiles.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestExportBigFiles.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestExportBigFiles.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -72,13 +72,13 @@
log.info("Execution time after adding and saving (local big):" + ((endTime - startTime) / 1000) + "s");
// Exporting repository content
- File file = File.createTempFile("tesSysExport", ".xml");
+ File file = PrivilegedFileHelper.createTempFile("tesSysExport", ".xml");
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(PrivilegedFileHelper.fileOutputStream(file));
session.exportSystemView(testLocalBigFiles.getPath(), bufferedOutputStream, false, false);
bufferedOutputStream.flush();
bufferedOutputStream.close();
- assertTrue(file.length() > 0);
+ assertTrue(PrivilegedFileHelper.length(file) > 0);
// removing source node
testLocalBigFiles.remove();
@@ -96,12 +96,12 @@
Node content = lbf.getNode("jcr:content");
// comparing with source file
- compareStream(new BufferedInputStream(PrivilegedFileHelper.fileInputStream(TEST_FILE)), content.getProperty("jcr:data")
- .getStream());
+ compareStream(new BufferedInputStream(PrivilegedFileHelper.fileInputStream(TEST_FILE)), content.getProperty(
+ "jcr:data").getStream());
n1.remove();
session.save();
- file.deleteOnExit();
+ PrivilegedFileHelper.deleteOnExit(file);
file.delete();
}
@@ -136,13 +136,13 @@
log.info("Execution time after adding and saving (local big):" + ((endTime - startTime) / 1000) + "s");
// Exporting repository content
- File file = File.createTempFile("tesDocExport", ".xml");
+ File file = PrivilegedFileHelper.createTempFile("tesDocExport", ".xml");
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(PrivilegedFileHelper.fileOutputStream(file));
session.exportDocumentView(testLocalBigFiles.getPath(), bufferedOutputStream, false, false);
bufferedOutputStream.flush();
bufferedOutputStream.close();
- assertTrue(file.length() > 0);
+ assertTrue(PrivilegedFileHelper.length(file) > 0);
// removing source node
testLocalBigFiles.remove();
@@ -160,12 +160,12 @@
Node content = lbf.getNode("jcr:content");
// comparing with source file
- compareStream(new BufferedInputStream(PrivilegedFileHelper.fileInputStream(TEST_FILE2)), content.getProperty("jcr:data")
- .getStream());
+ compareStream(new BufferedInputStream(PrivilegedFileHelper.fileInputStream(TEST_FILE2)), content.getProperty(
+ "jcr:data").getStream());
n1.remove();
session.save();
- file.deleteOnExit();
+ PrivilegedFileHelper.deleteOnExit(file);
file.delete();
}
@@ -196,13 +196,13 @@
log.info("Execution time after adding and saving (local big):" + ((endTime - startTime) / 1000) + "s");
// Exporting repository content
- File file = File.createTempFile("tesSysExport", ".xml");
+ File file = PrivilegedFileHelper.createTempFile("tesSysExport", ".xml");
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(PrivilegedFileHelper.fileOutputStream(file));
session.exportSystemView(testLocalBigFiles.getPath(), bufferedOutputStream, false, false);
bufferedOutputStream.flush();
bufferedOutputStream.close();
- assertTrue(file.length() > 0);
+ assertTrue(PrivilegedFileHelper.length(file) > 0);
// removing source node
testLocalBigFiles.remove();
@@ -220,12 +220,12 @@
Node content = lbf.getNode("jcr:content");
// comparing with source file
- compareStream(new BufferedInputStream(PrivilegedFileHelper.fileInputStream(TEST_FILE)), content.getProperty("jcr:data")
- .getStream());
+ compareStream(new BufferedInputStream(PrivilegedFileHelper.fileInputStream(TEST_FILE)), content.getProperty(
+ "jcr:data").getStream());
n1.remove();
session.save();
- file.deleteOnExit();
+ PrivilegedFileHelper.deleteOnExit(file);
file.delete();
}
@@ -266,13 +266,13 @@
}
// Exporting repository content
- File file = File.createTempFile("tesSysExport", ".xml");
+ File file = PrivilegedFileHelper.createTempFile("tesSysExport", ".xml");
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(PrivilegedFileHelper.fileOutputStream(file));
session.exportSystemView(testLocalBigFiles.getPath(), bufferedOutputStream, false, false);
bufferedOutputStream.flush();
bufferedOutputStream.close();
- assertTrue(file.length() > 0);
+ assertTrue(PrivilegedFileHelper.length(file) > 0);
// removing source node
testLocalBigFiles.remove();
@@ -292,12 +292,12 @@
Node lbf = n1.getNode("bigFile" + i);
Node content = lbf.getNode("jcr:content");
// comparing with source file
- compareStream(new BufferedInputStream(PrivilegedFileHelper.fileInputStream(TEST_FILE)), content.getProperty("jcr:data")
- .getStream());
+ compareStream(new BufferedInputStream(PrivilegedFileHelper.fileInputStream(TEST_FILE)), content.getProperty(
+ "jcr:data").getStream());
}
n1.remove();
session.save();
- file.deleteOnExit();
+ PrivilegedFileHelper.deleteOnExit(file);
file.delete();
}
@@ -308,7 +308,7 @@
// create test file
byte[] data = new byte[1024]; // 1Kb
- File testFile = File.createTempFile("exportImportFileTest", ".tmp");
+ File testFile = PrivilegedFileHelper.createTempFile("exportImportFileTest", ".tmp");
FileOutputStream tempOut = PrivilegedFileHelper.fileOutputStream(testFile);
Random random = new Random();
@@ -325,8 +325,8 @@
tempOut.write(data);
}
tempOut.close();
- testFile.deleteOnExit(); // delete on test exit
- log.info("Temp file created: " + testFile.getAbsolutePath() + " size: " + testFile.length());
+ PrivilegedFileHelper.deleteOnExit(testFile);
+ log.info("Temp file created: " + testFile.getAbsolutePath() + " size: " + PrivilegedFileHelper.length(testFile));
return testFile;
}
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/perf/TestPerformance.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/perf/TestPerformance.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/perf/TestPerformance.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -517,7 +517,7 @@
// byte SYMBOL = 65; // symbol A
// byte[] data = new byte[BUFFER_SIZE]; // 1KB
// Arrays.fill(data, (byte) SYMBOL); // symbol A
- // File testFile = File.createTempFile(prefix, ".tmp");
+ // File testFile = PrivilegedFileHelper.createTempFile(prefix, ".tmp");
// FileOutputStream tempOut = PrivilegedFileHelper.fileOutputStream(testFile);
// for (int i = 0; i < sizeInKb; i++) {
// tempOut.write(data);
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-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/storage/fs/TestFSReadWrite.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -113,7 +113,7 @@
testRoot = PrivilegedFileHelper.file("target/fstest");
testRoot.mkdirs();
- testRoot.deleteOnExit();
+ PrivilegedFileHelper.deleteOnExit(testRoot);
}
@Override
@@ -301,7 +301,9 @@
String fileName = SIDGenerator.generate();
String prefix = fileName.substring(0, 24); // time + addr hash prefix
String rnd = fileName.substring(24); // random name
- File dir = PrivilegedFileHelper.file(testRoot.getAbsolutePath() + File.separator + prefix + File.separator + buildPathX(rnd));
+ File dir =
+ PrivilegedFileHelper.file(testRoot.getAbsolutePath() + File.separator + prefix + File.separator
+ + buildPathX(rnd));
dir.mkdirs();
File f = PrivilegedFileHelper.file(dir.getAbsolutePath() + File.separator + fileName);
try
@@ -547,7 +549,9 @@
String fileName = filter.getName();
String prefix = fileName.substring(0, 24); // time + addr hash prefix
String rnd = fileName.substring(24); // random name
- File dir = PrivilegedFileHelper.file(testRoot.getAbsolutePath() + File.separator + prefix + File.separator + buildPathX(rnd));
+ File dir =
+ PrivilegedFileHelper.file(testRoot.getAbsolutePath() + File.separator + prefix + File.separator
+ + buildPathX(rnd));
String[] ls = filter != null ? dir.list(filter) : dir.list();
if (ls == null)
{
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/RemoveVDTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/RemoveVDTest.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/RemoveVDTest.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -56,7 +56,7 @@
// vd.setMaxBufferSize(200*1024);
// assertNull(vd.getFile()); // not spooling by default until getAsStream() will be call
- File serf = File.createTempFile("serialization", "test");
+ File serf = PrivilegedFileHelper.createTempFile("serialization", "test");
ObjectWriter wr = new ObjectWriterImpl(PrivilegedFileHelper.fileOutputStream(serf));
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/common/TestExportImportAmongSessions.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/common/TestExportImportAmongSessions.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/common/TestExportImportAmongSessions.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -65,8 +65,8 @@
testNtFileContent.setProperty("jcr:data", new ByteArrayInputStream(TEST_BINARY_CONTENT));
session1.save();
- File outputFile = File.createTempFile("jcr_bin_test-", ".tmp");
- outputFile.deleteOnExit();
+ File outputFile = PrivilegedFileHelper.createTempFile("jcr_bin_test-", ".tmp");
+ PrivilegedFileHelper.deleteOnExit(outputFile);
session1.exportDocumentView(testNode.getPath(), PrivilegedFileHelper.fileOutputStream(outputFile), false, false);
@@ -75,7 +75,8 @@
try
{
- session1.importXML("/", PrivilegedFileHelper.fileInputStream(outputFile), ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW);
+ session1.importXML("/", PrivilegedFileHelper.fileInputStream(outputFile),
+ ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW);
session1.save();
testNode = session1.getRootNode().getNode(TEST_NODE);
@@ -114,8 +115,8 @@
InputStream storedData = ntFile.getProperty("jcr:content/jcr:data").getStream();
assertTrue("BEFORE EXPORT/IMPORT. Binary content must be same", checkBinaryEquals(etalonData, storedData));
- File outputFile = File.createTempFile("jcr_bin_test", ".tmp");
- outputFile.deleteOnExit();
+ File outputFile = PrivilegedFileHelper.createTempFile("jcr_bin_test", ".tmp");
+ PrivilegedFileHelper.deleteOnExit(outputFile);
session2.exportDocumentView(testNode.getPath(), PrivilegedFileHelper.fileOutputStream(outputFile), false, false);
@@ -124,7 +125,8 @@
try
{
- session1.importXML("/", PrivilegedFileHelper.fileInputStream(outputFile), ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW);
+ session1.importXML("/", PrivilegedFileHelper.fileInputStream(outputFile),
+ ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW);
testNode = session1.getRootNode().getNode(TEST_NODE);
ntFile = testNode.getNode(TEST_NTFILE);
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/version/FileRestoreTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/version/FileRestoreTest.java 2010-06-14 08:44:23 UTC (rev 2565)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/version/FileRestoreTest.java 2010-06-14 09:00:21 UTC (rev 2566)
@@ -44,12 +44,12 @@
public void testBigFileRestore() throws Exception
{
- File tempFile = File.createTempFile("tempFile", "doc");
- File tempFile2 = File.createTempFile("tempFile", "doc");
- File tempFile3 = File.createTempFile("tempFile", "doc");
- tempFile.deleteOnExit();
- tempFile2.deleteOnExit();
- tempFile3.deleteOnExit();
+ File tempFile = PrivilegedFileHelper.createTempFile("tempFile", "doc");
+ File tempFile2 = PrivilegedFileHelper.createTempFile("tempFile", "doc");
+ File tempFile3 = PrivilegedFileHelper.createTempFile("tempFile", "doc");
+ PrivilegedFileHelper.deleteOnExit(tempFile);
+ PrivilegedFileHelper.deleteOnExit(tempFile2);
+ PrivilegedFileHelper.deleteOnExit(tempFile3);
FileOutputStream fos = PrivilegedFileHelper.fileOutputStream(tempFile);
FileOutputStream fos2 = PrivilegedFileHelper.fileOutputStream(tempFile2);
@@ -70,9 +70,9 @@
fos2.close();
fos3.close();
- log.info("FILE for VERSION #1 : file size = " + tempFile.length() + " bytes");
- log.info("FILE for VERSION #2 : file size = " + tempFile2.length() + " bytes");
- log.info("FILE for VERSION #3 : file size = " + tempFile3.length() + " bytes");
+ log.info("FILE for VERSION #1 : file size = " + PrivilegedFileHelper.length(tempFile) + " bytes");
+ log.info("FILE for VERSION #2 : file size = " + PrivilegedFileHelper.length(tempFile2) + " bytes");
+ log.info("FILE for VERSION #3 : file size = " + PrivilegedFileHelper.length(tempFile3) + " bytes");
Node file = root.addNode("nt_file_node", "nt:file");
Node contentNode = file.addNode("jcr:content", "nt:resource");
@@ -117,6 +117,7 @@
// restore version v2 again
file.restore(v2, true);
- compareStream(PrivilegedFileHelper.fileInputStream(tempFile2), file.getNode("jcr:content").getProperty("jcr:data").getStream());
+ compareStream(PrivilegedFileHelper.fileInputStream(tempFile2), file.getNode("jcr:content")
+ .getProperty("jcr:data").getStream());
}
}
14 years
exo-jcr SVN: r2565 - in jcr/trunk/exo.jcr.component.core/src: main/java/org/exoplatform/services/jcr/impl/core/query/lucene/directory and 2 other directories.
by do-not-reply@jboss.org
Author: nzamosenchuk
Date: 2010-06-14 04:44:23 -0400 (Mon, 14 Jun 2010)
New Revision: 2565
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/AbstractIndex.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/IndexInfos.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/directory/FSDirectoryManager.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/SecurityHelper.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/core/query/lucene/IndexingQueueTest.java
Log:
EXOJCR-758: AbstractIndex and IndexInfos updated
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/AbstractIndex.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/AbstractIndex.java 2010-06-14 08:17:58 UTC (rev 2564)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/AbstractIndex.java 2010-06-14 08:44:23 UTC (rev 2565)
@@ -25,6 +25,7 @@
import org.apache.lucene.index.Term;
import org.apache.lucene.search.Similarity;
import org.apache.lucene.store.Directory;
+import org.exoplatform.services.jcr.impl.util.SecurityHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -32,6 +33,8 @@
import java.io.OutputStream;
import java.io.PrintStream;
import java.io.StringReader;
+import java.security.PrivilegedAction;
+import java.security.PrivilegedExceptionAction;
import java.util.BitSet;
import java.util.Iterator;
@@ -122,7 +125,7 @@
* @param indexingQueue the indexing queue.
* @throws IOException if the index cannot be initialized.
*/
- AbstractIndex(Analyzer analyzer, Similarity similarity, Directory directory, DocNumberCache cache,
+ AbstractIndex(final Analyzer analyzer, Similarity similarity, final Directory directory, DocNumberCache cache,
IndexingQueue indexingQueue) throws IOException
{
this.analyzer = analyzer;
@@ -130,15 +133,24 @@
this.directory = directory;
this.cache = cache;
this.indexingQueue = indexingQueue;
- this.isExisting = IndexReader.indexExists(directory);
- if (!isExisting)
+ SecurityHelper.doPriviledgedIOExceptionAction(new PrivilegedExceptionAction<Object>()
{
- indexWriter = new IndexWriter(directory, analyzer, IndexWriter.MaxFieldLength.LIMITED);
- // immediately close, now that index has been created
- indexWriter.close();
- indexWriter = null;
- }
+ public Object run() throws Exception
+ {
+ AbstractIndex.this.isExisting = IndexReader.indexExists(directory);
+
+ if (!isExisting)
+ {
+ indexWriter = new IndexWriter(directory, analyzer, IndexWriter.MaxFieldLength.LIMITED);
+ // immediately close, now that index has been created
+ indexWriter.close();
+ indexWriter = null;
+ }
+ return null;
+ }
+ });
+
}
/**
@@ -170,60 +182,67 @@
* @param docs the documents to add.
* @throws IOException if an error occurs while writing to the index.
*/
- void addDocuments(Document[] docs) throws IOException
+ void addDocuments(final Document[] docs) throws IOException
{
- final IndexWriter writer = getIndexWriter();
- DynamicPooledExecutor.Command[] commands = new DynamicPooledExecutor.Command[docs.length];
- for (int i = 0; i < docs.length; i++)
+ SecurityHelper.doPriviledgedIOExceptionAction(new PrivilegedExceptionAction<Object>()
{
- // check if text extractor completed its work
- final Document doc = getFinishedDocument(docs[i]);
- // create a command for inverting the document
- commands[i] = new DynamicPooledExecutor.Command()
+ public Object run() throws Exception
{
- public Object call() throws Exception
+ final IndexWriter writer = getIndexWriter();
+ DynamicPooledExecutor.Command[] commands = new DynamicPooledExecutor.Command[docs.length];
+ for (int i = 0; i < docs.length; i++)
{
- long time = System.currentTimeMillis();
- writer.addDocument(doc);
- return new Long(System.currentTimeMillis() - time);
+ // check if text extractor completed its work
+ final Document doc = getFinishedDocument(docs[i]);
+ // create a command for inverting the document
+ commands[i] = new DynamicPooledExecutor.Command()
+ {
+ public Object call() throws Exception
+ {
+ long time = System.currentTimeMillis();
+ writer.addDocument(doc);
+ return new Long(System.currentTimeMillis() - time);
+ }
+ };
}
- };
- }
- DynamicPooledExecutor.Result[] results = EXECUTOR.executeAndWait(commands);
- invalidateSharedReader();
- IOException ex = null;
- for (int i = 0; i < results.length; i++)
- {
- if (results[i].getException() != null)
- {
- Throwable cause = results[i].getException().getCause();
- if (ex == null)
+ DynamicPooledExecutor.Result[] results = EXECUTOR.executeAndWait(commands);
+ invalidateSharedReader();
+ IOException ex = null;
+ for (int i = 0; i < results.length; i++)
{
- // only throw the first exception
- if (cause instanceof IOException)
+ if (results[i].getException() != null)
{
- ex = (IOException)cause;
+ Throwable cause = results[i].getException().getCause();
+ if (ex == null)
+ {
+ // only throw the first exception
+ if (cause instanceof IOException)
+ {
+ ex = (IOException)cause;
+ }
+ else
+ {
+ throw Util.createIOException(cause);
+ }
+ }
+ else
+ {
+ // all others are logged
+ log.warn("Exception while inverting document", cause);
+ }
}
else
{
- throw Util.createIOException(cause);
+ log.debug("Inverted document in {} ms", results[i].get());
}
}
- else
+ if (ex != null)
{
- // all others are logged
- log.warn("Exception while inverting document", cause);
+ throw ex;
}
+ return null;
}
- else
- {
- log.debug("Inverted document in {} ms", results[i].get());
- }
- }
- if (ex != null)
- {
- throw ex;
- }
+ });
}
/**
@@ -235,9 +254,15 @@
* @throws IOException if an error occurs while removing the document.
* @return number of documents deleted
*/
- int removeDocument(Term idTerm) throws IOException
+ int removeDocument(final Term idTerm) throws IOException
{
- return getIndexReader().deleteDocuments(idTerm);
+ return SecurityHelper.doPriviledgedIOExceptionAction(new PrivilegedExceptionAction<Integer>()
+ {
+ public Integer run() throws Exception
+ {
+ return getIndexReader().deleteDocuments(idTerm);
+ }
+ });
}
/**
@@ -249,20 +274,26 @@
*/
protected synchronized CommittableIndexReader getIndexReader() throws IOException
{
- if (indexWriter != null)
+ return SecurityHelper.doPriviledgedIOExceptionAction(new PrivilegedExceptionAction<CommittableIndexReader>()
{
- indexWriter.close();
- log.debug("closing IndexWriter.");
- indexWriter = null;
- }
+ public CommittableIndexReader run() throws Exception
+ {
+ if (indexWriter != null)
+ {
+ indexWriter.close();
+ log.debug("closing IndexWriter.");
+ indexWriter = null;
+ }
- if (indexReader == null || !indexReader.isCurrent())
- {
- IndexReader reader = IndexReader.open(getDirectory());
- reader.setTermInfosIndexDivisor(termInfosIndexDivisor);
- indexReader = new CommittableIndexReader(reader);
- }
- return indexReader;
+ if (indexReader == null || !indexReader.isCurrent())
+ {
+ IndexReader reader = IndexReader.open(getDirectory());
+ reader.setTermInfosIndexDivisor(termInfosIndexDivisor);
+ indexReader = new CommittableIndexReader(reader);
+ }
+ return indexReader;
+ }
+ });
}
/**
@@ -276,60 +307,66 @@
* @return a read-only index reader.
* @throws IOException if an error occurs while obtaining the index reader.
*/
- synchronized ReadOnlyIndexReader getReadOnlyIndexReader(boolean initCache) throws IOException
+ synchronized ReadOnlyIndexReader getReadOnlyIndexReader(final boolean initCache) throws IOException
{
- // get current modifiable index reader
- CommittableIndexReader modifiableReader = getIndexReader();
- long modCount = modifiableReader.getModificationCount();
- if (readOnlyReader != null)
+ return SecurityHelper.doPriviledgedIOExceptionAction(new PrivilegedExceptionAction<ReadOnlyIndexReader>()
{
- if (readOnlyReader.getDeletedDocsVersion() == modCount)
+ public ReadOnlyIndexReader run() throws Exception
{
- // reader up-to-date
- readOnlyReader.acquire();
- return readOnlyReader;
- }
- else
- {
- // reader outdated
- if (readOnlyReader.getRefCount() == 1)
+ // get current modifiable index reader
+ CommittableIndexReader modifiableReader = getIndexReader();
+ long modCount = modifiableReader.getModificationCount();
+ if (readOnlyReader != null)
{
- // not in use, except by this index
- // update the reader
- readOnlyReader.updateDeletedDocs(modifiableReader);
- readOnlyReader.acquire();
- return readOnlyReader;
+ if (readOnlyReader.getDeletedDocsVersion() == modCount)
+ {
+ // reader up-to-date
+ readOnlyReader.acquire();
+ return readOnlyReader;
+ }
+ else
+ {
+ // reader outdated
+ if (readOnlyReader.getRefCount() == 1)
+ {
+ // not in use, except by this index
+ // update the reader
+ readOnlyReader.updateDeletedDocs(modifiableReader);
+ readOnlyReader.acquire();
+ return readOnlyReader;
+ }
+ else
+ {
+ // cannot update reader, it is still in use
+ // need to create a new instance
+ readOnlyReader.release();
+ readOnlyReader = null;
+ }
+ }
}
- else
+ // if we get here there is no up-to-date read-only reader
+ // capture snapshot of deleted documents
+ BitSet deleted = new BitSet(modifiableReader.maxDoc());
+ for (int i = 0; i < modifiableReader.maxDoc(); i++)
{
- // cannot update reader, it is still in use
- // need to create a new instance
- readOnlyReader.release();
- readOnlyReader = null;
+ if (modifiableReader.isDeleted(i))
+ {
+ deleted.set(i);
+ }
}
+ if (sharedReader == null)
+ {
+ // create new shared reader
+ IndexReader reader = IndexReader.open(getDirectory(), true);
+ reader.setTermInfosIndexDivisor(termInfosIndexDivisor);
+ CachingIndexReader cr = new CachingIndexReader(reader, cache, initCache);
+ sharedReader = new SharedIndexReader(cr);
+ }
+ readOnlyReader = new ReadOnlyIndexReader(sharedReader, deleted, modCount);
+ readOnlyReader.acquire();
+ return readOnlyReader;
}
- }
- // if we get here there is no up-to-date read-only reader
- // capture snapshot of deleted documents
- BitSet deleted = new BitSet(modifiableReader.maxDoc());
- for (int i = 0; i < modifiableReader.maxDoc(); i++)
- {
- if (modifiableReader.isDeleted(i))
- {
- deleted.set(i);
- }
- }
- if (sharedReader == null)
- {
- // create new shared reader
- IndexReader reader = IndexReader.open(getDirectory(), true);
- reader.setTermInfosIndexDivisor(termInfosIndexDivisor);
- CachingIndexReader cr = new CachingIndexReader(reader, cache, initCache);
- sharedReader = new SharedIndexReader(cr);
- }
- readOnlyReader = new ReadOnlyIndexReader(sharedReader, deleted, modCount);
- readOnlyReader.acquire();
- return readOnlyReader;
+ });
}
/**
@@ -353,20 +390,26 @@
*/
protected synchronized IndexWriter getIndexWriter() throws IOException
{
- if (indexReader != null)
+ return SecurityHelper.doPriviledgedIOExceptionAction(new PrivilegedExceptionAction<IndexWriter>()
{
- indexReader.close();
- log.debug("closing IndexReader.");
- indexReader = null;
- }
- if (indexWriter == null)
- {
- indexWriter = new IndexWriter(getDirectory(), analyzer, new IndexWriter.MaxFieldLength(maxFieldLength));
- indexWriter.setSimilarity(similarity);
- indexWriter.setUseCompoundFile(useCompoundFile);
- indexWriter.setInfoStream(STREAM_LOGGER);
- }
- return indexWriter;
+ public IndexWriter run() throws Exception
+ {
+ if (indexReader != null)
+ {
+ indexReader.close();
+ log.debug("closing IndexReader.");
+ indexReader = null;
+ }
+ if (indexWriter == null)
+ {
+ indexWriter = new IndexWriter(getDirectory(), analyzer, new IndexWriter.MaxFieldLength(maxFieldLength));
+ indexWriter.setSimilarity(similarity);
+ indexWriter.setUseCompoundFile(useCompoundFile);
+ indexWriter.setInfoStream(STREAM_LOGGER);
+ }
+ return indexWriter;
+ }
+ });
}
/**
@@ -385,26 +428,33 @@
* commit.
* @throws IOException if an error occurs while commiting changes.
*/
- protected synchronized void commit(boolean optimize) throws IOException
+ protected synchronized void commit(final boolean optimize) throws IOException
{
- if (indexReader != null)
+ SecurityHelper.doPriviledgedIOExceptionAction(new PrivilegedExceptionAction<Object>()
{
- log.debug("committing IndexReader.");
- indexReader.flush();
- }
- if (indexWriter != null)
- {
- log.debug("committing IndexWriter.");
- indexWriter.commit();
- }
- // optimize if requested
- if (optimize)
- {
- IndexWriter writer = getIndexWriter();
- writer.optimize();
- writer.close();
- indexWriter = null;
- }
+ public Object run() throws Exception
+ {
+ if (indexReader != null)
+ {
+ log.debug("committing IndexReader.");
+ indexReader.flush();
+ }
+ if (indexWriter != null)
+ {
+ log.debug("committing IndexWriter.");
+ indexWriter.commit();
+ }
+ // optimize if requested
+ if (optimize)
+ {
+ IndexWriter writer = getIndexWriter();
+ writer.optimize();
+ writer.close();
+ indexWriter = null;
+ }
+ return null;
+ }
+ });
}
/**
@@ -412,18 +462,25 @@
*/
synchronized void close()
{
- releaseWriterAndReaders();
- if (directory != null)
+ SecurityHelper.doPriviledgedAction(new PrivilegedAction<Object>()
{
- try
+ public Object run()
{
- directory.close();
+ releaseWriterAndReaders();
+ if (directory != null)
+ {
+ try
+ {
+ directory.close();
+ }
+ catch (IOException e)
+ {
+ directory = null;
+ }
+ }
+ return null;
}
- catch (IOException e)
- {
- directory = null;
- }
- }
+ });
}
/**
@@ -431,54 +488,61 @@
*/
protected void releaseWriterAndReaders()
{
- if (indexWriter != null)
+ SecurityHelper.doPriviledgedAction(new PrivilegedAction<Object>()
{
- try
+ public Object run()
{
- indexWriter.close();
+ if (indexWriter != null)
+ {
+ try
+ {
+ indexWriter.close();
+ }
+ catch (IOException e)
+ {
+ log.warn("Exception closing index writer: " + e.toString());
+ }
+ indexWriter = null;
+ }
+ if (indexReader != null)
+ {
+ try
+ {
+ indexReader.close();
+ }
+ catch (IOException e)
+ {
+ log.warn("Exception closing index reader: " + e.toString());
+ }
+ indexReader = null;
+ }
+ if (readOnlyReader != null)
+ {
+ try
+ {
+ readOnlyReader.release();
+ }
+ catch (IOException e)
+ {
+ log.warn("Exception closing index reader: " + e.toString());
+ }
+ readOnlyReader = null;
+ }
+ if (sharedReader != null)
+ {
+ try
+ {
+ sharedReader.release();
+ }
+ catch (IOException e)
+ {
+ log.warn("Exception closing index reader: " + e.toString());
+ }
+ sharedReader = null;
+ }
+ return null;
}
- catch (IOException e)
- {
- log.warn("Exception closing index writer: " + e.toString());
- }
- indexWriter = null;
- }
- if (indexReader != null)
- {
- try
- {
- indexReader.close();
- }
- catch (IOException e)
- {
- log.warn("Exception closing index reader: " + e.toString());
- }
- indexReader = null;
- }
- if (readOnlyReader != null)
- {
- try
- {
- readOnlyReader.release();
- }
- catch (IOException e)
- {
- log.warn("Exception closing index reader: " + e.toString());
- }
- readOnlyReader = null;
- }
- if (sharedReader != null)
- {
- try
- {
- sharedReader.release();
- }
- catch (IOException e)
- {
- log.warn("Exception closing index reader: " + e.toString());
- }
- sharedReader = null;
- }
+ });
}
/**
@@ -503,18 +567,25 @@
*/
protected synchronized void invalidateSharedReader() throws IOException
{
- // also close the read-only reader
- if (readOnlyReader != null)
+ SecurityHelper.doPriviledgedIOExceptionAction(new PrivilegedExceptionAction<Object>()
{
- readOnlyReader.release();
- readOnlyReader = null;
- }
- // invalidate shared reader
- if (sharedReader != null)
- {
- sharedReader.release();
- sharedReader = null;
- }
+ public Object run() throws Exception
+ {
+ // also close the read-only reader
+ if (readOnlyReader != null)
+ {
+ readOnlyReader.release();
+ readOnlyReader = null;
+ }
+ // invalidate shared reader
+ if (sharedReader != null)
+ {
+ sharedReader.release();
+ sharedReader = null;
+ }
+ return null;
+ }
+ });
}
/**
@@ -708,6 +779,7 @@
{
super(new OutputStream()
{
+ @Override
public void write(int b)
{
// do nothing
@@ -715,11 +787,13 @@
});
}
+ @Override
public void print(String s)
{
buffer.append(s);
}
+ @Override
public void println(String s)
{
buffer.append(s);
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/IndexInfos.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/IndexInfos.java 2010-06-14 08:17:58 UTC (rev 2564)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/IndexInfos.java 2010-06-14 08:44:23 UTC (rev 2565)
@@ -19,12 +19,14 @@
import org.apache.lucene.store.Directory;
import org.exoplatform.services.jcr.impl.core.query.lucene.directory.IndexInputStream;
import org.exoplatform.services.jcr.impl.core.query.lucene.directory.IndexOutputStream;
+import org.exoplatform.services.jcr.impl.util.SecurityHelper;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
+import java.security.PrivilegedExceptionAction;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
@@ -112,28 +114,35 @@
*/
public void read() throws IOException
{
- names.clear();
- indexes.clear();
- if (dir.fileExists(name))
+ SecurityHelper.doPriviledgedIOExceptionAction(new PrivilegedExceptionAction<Object>()
{
- // clear current lists
- InputStream in = new IndexInputStream(dir.openInput(name));
- try
+ public Object run() throws Exception
{
- DataInputStream di = new DataInputStream(in);
- counter = di.readInt();
- for (int i = di.readInt(); i > 0; i--)
+ names.clear();
+ indexes.clear();
+ if (dir.fileExists(name))
{
- String indexName = di.readUTF();
- indexes.add(indexName);
- names.add(indexName);
+ // clear current lists
+ InputStream in = new IndexInputStream(dir.openInput(name));
+ try
+ {
+ DataInputStream di = new DataInputStream(in);
+ counter = di.readInt();
+ for (int i = di.readInt(); i > 0; i--)
+ {
+ String indexName = di.readUTF();
+ indexes.add(indexName);
+ names.add(indexName);
+ }
+ }
+ finally
+ {
+ in.close();
+ }
}
+ return null;
}
- finally
- {
- in.close();
- }
- }
+ });
}
/**
@@ -144,34 +153,41 @@
*/
public void write() throws IOException
{
- // do not write if not dirty
- if (!dirty)
+ SecurityHelper.doPriviledgedIOExceptionAction(new PrivilegedExceptionAction<Object>()
{
- return;
- }
+ public Object run() throws Exception
+ {
+ // do not write if not dirty
+ if (!dirty)
+ {
+ return null;
+ }
- OutputStream out = new IndexOutputStream(dir.createOutput(name + ".new"));
- try
- {
- DataOutputStream dataOut = new DataOutputStream(out);
- dataOut.writeInt(counter);
- dataOut.writeInt(indexes.size());
- for (int i = 0; i < indexes.size(); i++)
- {
- dataOut.writeUTF(getName(i));
+ OutputStream out = new IndexOutputStream(dir.createOutput(name + ".new"));
+ try
+ {
+ DataOutputStream dataOut = new DataOutputStream(out);
+ dataOut.writeInt(counter);
+ dataOut.writeInt(indexes.size());
+ for (int i = 0; i < indexes.size(); i++)
+ {
+ dataOut.writeUTF(getName(i));
+ }
+ }
+ finally
+ {
+ out.close();
+ }
+ // delete old
+ if (dir.fileExists(name))
+ {
+ dir.deleteFile(name);
+ }
+ dir.renameFile(name + ".new", name);
+ dirty = false;
+ return null;
}
- }
- finally
- {
- out.close();
- }
- // delete old
- if (dir.fileExists(name))
- {
- dir.deleteFile(name);
- }
- dir.renameFile(name + ".new", name);
- dirty = false;
+ });
}
/**
@@ -181,7 +197,7 @@
*/
public String getName(int i)
{
- return (String)indexes.get(i);
+ return indexes.get(i);
}
/**
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java 2010-06-14 08:17:58 UTC (rev 2564)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/MultiIndex.java 2010-06-14 08:44:23 UTC (rev 2565)
@@ -20,6 +20,8 @@
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.Term;
import org.apache.lucene.store.Directory;
+import org.apache.lucene.store.FSDirectory;
+import org.apache.lucene.store.NativeFSLockFactory;
import org.exoplatform.services.jcr.dataflow.ItemDataConsumer;
import org.exoplatform.services.jcr.datamodel.ItemData;
import org.exoplatform.services.jcr.datamodel.NodeData;
@@ -29,11 +31,14 @@
import org.exoplatform.services.jcr.impl.core.query.IndexerIoModeListener;
import org.exoplatform.services.jcr.impl.core.query.IndexingTree;
import org.exoplatform.services.jcr.impl.core.query.lucene.directory.DirectoryManager;
+import org.exoplatform.services.jcr.impl.util.SecurityHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
+import java.security.PrivilegedExceptionAction;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -824,60 +829,67 @@
* @throws IOException
* if an error occurs constructing the <code>IndexReader</code>.
*/
- public synchronized CachingMultiIndexReader getIndexReader(boolean initCache) throws IOException
+ public synchronized CachingMultiIndexReader getIndexReader(final boolean initCache) throws IOException
{
- synchronized (updateMonitor)
+ return SecurityHelper.doPriviledgedIOExceptionAction(new PrivilegedExceptionAction<CachingMultiIndexReader>()
{
- if (multiReader != null)
+ public CachingMultiIndexReader run() throws Exception
{
- multiReader.acquire();
- return multiReader;
- }
- // no reader available
- // wait until no update is in progress
- while (indexUpdateMonitor.getUpdateInProgress())
- {
- try
+ synchronized (updateMonitor)
{
- updateMonitor.wait();
- }
- catch (InterruptedException e)
- {
- throw new IOException("Interrupted while waiting to aquire reader");
- }
- }
- // some other read thread might have created the reader in the
- // meantime -> check again
- if (multiReader == null)
- {
- List readerList = new ArrayList();
- for (int i = 0; i < indexes.size(); i++)
- {
- PersistentIndex pIdx = (PersistentIndex)indexes.get(i);
-
- if (indexNames.contains(pIdx.getName()))
+ if (multiReader != null)
{
+ multiReader.acquire();
+ return multiReader;
+ }
+ // no reader available
+ // wait until no update is in progress
+ while (indexUpdateMonitor.getUpdateInProgress())
+ {
try
{
- readerList.add(pIdx.getReadOnlyIndexReader(initCache));
+ updateMonitor.wait();
}
- catch (FileNotFoundException e)
+ catch (InterruptedException e)
{
- if (directoryManager.hasDirectory(pIdx.getName()))
+ throw new IOException("Interrupted while waiting to aquire reader");
+ }
+ }
+ // some other read thread might have created the reader in the
+ // meantime -> check again
+ if (multiReader == null)
+ {
+ List readerList = new ArrayList();
+ for (int i = 0; i < indexes.size(); i++)
+ {
+ PersistentIndex pIdx = (PersistentIndex)indexes.get(i);
+
+ if (indexNames.contains(pIdx.getName()))
{
- throw e;
+ try
+ {
+ readerList.add(pIdx.getReadOnlyIndexReader(initCache));
+ }
+ catch (FileNotFoundException e)
+ {
+ if (directoryManager.hasDirectory(pIdx.getName()))
+ {
+ throw e;
+ }
+ }
}
}
+ readerList.add(volatileIndex.getReadOnlyIndexReader());
+ ReadOnlyIndexReader[] readers =
+ (ReadOnlyIndexReader[])readerList.toArray(new ReadOnlyIndexReader[readerList.size()]);
+ multiReader = new CachingMultiIndexReader(readers, cache);
}
+ multiReader.acquire();
+ return multiReader;
}
- readerList.add(volatileIndex.getReadOnlyIndexReader());
- ReadOnlyIndexReader[] readers =
- (ReadOnlyIndexReader[])readerList.toArray(new ReadOnlyIndexReader[readerList.size()]);
- multiReader = new CachingMultiIndexReader(readers, cache);
}
- multiReader.acquire();
- return multiReader;
- }
+ });
+
}
/**
@@ -1159,6 +1171,7 @@
// new flush task, cause canceled can't be re-used
flushTask = new TimerTask()
{
+ @Override
public void run()
{
// check if there are any indexing jobs finished
@@ -1204,19 +1217,25 @@
* if an error occurs while executing the action or appending
* the action to the redo log.
*/
- private Action executeAndLog(Action a) throws IOException
+ private Action executeAndLog(final Action a) throws IOException
{
- a.execute(this);
- redoLog.append(a);
- // please note that flushing the redo log is only required on
- // commit, but we also want to keep track of new indexes for sure.
- // otherwise it might happen that unused index folders are orphaned
- // after a crash.
- if (a.getType() == Action.TYPE_COMMIT || a.getType() == Action.TYPE_ADD_INDEX)
+ return SecurityHelper.doPriviledgedIOExceptionAction(new PrivilegedExceptionAction<Action>()
{
- redoLog.flush();
- }
- return a;
+ public Action run() throws Exception
+ {
+ a.execute(MultiIndex.this);
+ redoLog.append(a);
+ // please note that flushing the redo log is only required on
+ // commit, but we also want to keep track of new indexes for sure.
+ // otherwise it might happen that unused index folders are orphaned
+ // after a crash.
+ if (a.getType() == Action.TYPE_COMMIT || a.getType() == Action.TYPE_ADD_INDEX)
+ {
+ redoLog.flush();
+ }
+ return a;
+ }
+ });
}
/**
@@ -1670,6 +1689,7 @@
*
* @return a <code>String</code> representation of this action.
*/
+ @Override
public abstract String toString();
/**
@@ -1797,6 +1817,7 @@
*
* @inheritDoc
*/
+ @Override
public void execute(MultiIndex index) throws IOException
{
PersistentIndex idx = index.getOrCreateIndex(indexName);
@@ -1812,6 +1833,7 @@
/**
* @inheritDoc
*/
+ @Override
public String toString()
{
StringBuffer logLine = new StringBuffer();
@@ -1901,6 +1923,7 @@
*
* @inheritDoc
*/
+ @Override
public void execute(MultiIndex index) throws IOException
{
if (doc == null)
@@ -1924,6 +1947,7 @@
/**
* @inheritDoc
*/
+ @Override
public String toString()
{
StringBuffer logLine = new StringBuffer(ENTRY_LENGTH);
@@ -1972,6 +1996,7 @@
*
* @inheritDoc
*/
+ @Override
public void execute(MultiIndex index) throws IOException
{
index.lastFlushTime = System.currentTimeMillis();
@@ -1980,6 +2005,7 @@
/**
* @inheritDoc
*/
+ @Override
public String toString()
{
return Long.toString(getTransactionId()) + ' ' + Action.COMMIT;
@@ -2035,6 +2061,7 @@
*
* @inheritDoc
*/
+ @Override
public void execute(MultiIndex index) throws IOException
{
PersistentIndex idx = index.getOrCreateIndex(indexName);
@@ -2044,6 +2071,7 @@
/**
* @inheritDoc
*/
+ @Override
public void undo(MultiIndex index) throws IOException
{
if (index.hasIndex(indexName))
@@ -2057,6 +2085,7 @@
/**
* @inheritDoc
*/
+ @Override
public String toString()
{
StringBuffer logLine = new StringBuffer();
@@ -2127,6 +2156,7 @@
*
* @inheritDoc
*/
+ @Override
public void execute(MultiIndex index) throws IOException
{
// get index if it exists
@@ -2145,6 +2175,7 @@
/**
* @inheritDoc
*/
+ @Override
public String toString()
{
StringBuffer logLine = new StringBuffer();
@@ -2214,6 +2245,7 @@
*
* @inheritDoc
*/
+ @Override
public void execute(MultiIndex index) throws IOException
{
String uuidString = uuid.toString();
@@ -2249,6 +2281,7 @@
/**
* @inheritDoc
*/
+ @Override
public String toString()
{
StringBuffer logLine = new StringBuffer(ENTRY_LENGTH);
@@ -2297,6 +2330,7 @@
*
* @inheritDoc
*/
+ @Override
public void execute(MultiIndex index) throws IOException
{
index.currentTransactionId = getTransactionId();
@@ -2305,6 +2339,7 @@
/**
* @inheritDoc
*/
+ @Override
public String toString()
{
return Long.toString(getTransactionId()) + ' ' + Action.START;
@@ -2353,6 +2388,7 @@
*
* @inheritDoc
*/
+ @Override
public void execute(MultiIndex index) throws IOException
{
VolatileIndex volatileIndex = index.getVolatileIndex();
@@ -2364,6 +2400,7 @@
/**
* @inheritDoc
*/
+ @Override
public String toString()
{
StringBuffer logLine = new StringBuffer();
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/directory/FSDirectoryManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/directory/FSDirectoryManager.java 2010-06-14 08:17:58 UTC (rev 2564)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/directory/FSDirectoryManager.java 2010-06-14 08:44:23 UTC (rev 2565)
@@ -26,6 +26,7 @@
import java.io.File;
import java.io.FileFilter;
import java.io.IOException;
+import java.security.PrivilegedAction;
import java.security.PrivilegedExceptionAction;
/**
@@ -49,7 +50,7 @@
{
public Object run() throws Exception
{
- baseDir = PrivilegedFileHelper.file(handler.getPath());
+ baseDir = new File(handler.getPath());
return null;
}
});
@@ -64,7 +65,7 @@
{
public Boolean run() throws Exception
{
- return PrivilegedFileHelper.file(baseDir, name).exists();
+ return new File(baseDir, name).exists();
}
});
@@ -86,7 +87,7 @@
}
else
{
- dir = PrivilegedFileHelper.file(baseDir, name);
+ dir = new File(baseDir, name);
}
return FSDirectory.getDirectory(dir, new NativeFSLockFactory(dir));
}
@@ -131,11 +132,11 @@
*/
public boolean delete(final String name)
{
- return SecurityHelper.doPriviledgedAction(new PrivilegedExceptionAction<Boolean>()
+ return SecurityHelper.doPriviledgedAction(new PrivilegedAction<Boolean>()
{
- public Boolean run() throws Exception
+ public Boolean run()
{
- File directory = PrivilegedFileHelper.file(baseDir, name);
+ File directory = new File(baseDir, name);
// trivial if it does not exist anymore
if (!directory.exists())
{
@@ -168,12 +169,12 @@
*/
public boolean rename(final String from, final String to)
{
- return SecurityHelper.doPriviledgedAction(new PrivilegedExceptionAction<Boolean>()
+ return SecurityHelper.doPriviledgedAction(new PrivilegedAction<Boolean>()
{
- public Boolean run() throws Exception
+ public Boolean run()
{
- File src = PrivilegedFileHelper.file(baseDir, from);
- File dest = PrivilegedFileHelper.file(baseDir, to);
+ File src = new File(baseDir, from);
+ File dest = new File(baseDir, to);
return src.renameTo(dest);
}
});
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/SecurityHelper.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/SecurityHelper.java 2010-06-14 08:17:58 UTC (rev 2564)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/SecurityHelper.java 2010-06-14 08:44:23 UTC (rev 2565)
@@ -18,8 +18,10 @@
*/
package org.exoplatform.services.jcr.impl.util;
+import java.io.File;
import java.io.IOException;
import java.security.AccessController;
+import java.security.PrivilegedAction;
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
@@ -73,24 +75,26 @@
* @return
* @throws IOException
*/
- public static <E> E doPriviledgedAction(PrivilegedExceptionAction<E> action)
+ public static <E> E doPriviledgedAction(PrivilegedAction<E> action)
{
- try
+ return AccessController.doPrivileged(action);
+ }
+
+ /**
+ * Gets system property in privileged mode
+ *
+ * @param name
+ * @return
+ */
+ public static String getSystemProperty(final String name)
+ {
+ return SecurityHelper.doPriviledgedAction(new PrivilegedAction<String>()
{
- return AccessController.doPrivileged(action);
- }
- catch (PrivilegedActionException pae)
- {
- Throwable cause = pae.getCause();
- if (cause instanceof RuntimeException)
+ public String run()
{
- throw (RuntimeException)cause;
+ return System.getProperty(name);
}
- else
- {
- throw new RuntimeException(cause);
- }
- }
+ });
}
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/core/query/lucene/IndexingQueueTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/core/query/lucene/IndexingQueueTest.java 2010-06-14 08:17:58 UTC (rev 2564)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/core/query/lucene/IndexingQueueTest.java 2010-06-14 08:44:23 UTC (rev 2565)
@@ -21,6 +21,7 @@
import org.exoplatform.services.jcr.impl.core.RepositoryImpl;
import org.exoplatform.services.jcr.impl.core.query.lucene.IndexingQueue;
import org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex;
+import org.exoplatform.services.jcr.impl.util.SecurityHelper;
import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import javax.jcr.Node;
@@ -44,7 +45,7 @@
public class IndexingQueueTest extends AbstractIndexingTest
{
- private static final File TEMP_DIR = PrivilegedFileHelper.file(System.getProperty("java.io.tmpdir"));
+ private static final File TEMP_DIR = new File(SecurityHelper.getSystemProperty("java.io.tmpdir"));
private static final String CONTENT_TYPE = "application/indexing-queue-test";
14 years
exo-jcr SVN: r2564 - in jcr/trunk/exo.jcr.component.core/src: main/java/org/exoplatform/services/jcr/impl/config and 43 other directories.
by do-not-reply@jboss.org
Author: tolusha
Date: 2010-06-14 04:17:58 -0400 (Mon, 14 Jun 2010)
New Revision: 2564
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/config/TemplateConfigurationHelper.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/config/RepositoryServiceConfigurationImpl.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/BackupWorkspaceInitializer.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SysViewWorkspaceInitializer.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/FileSystemLockPersister.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ErrorLog.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/FileBasedNamespaceMappings.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/directory/FSDirectoryManager.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/value/ValueFactoryImpl.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/EditableValueData.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FilePersistedValueData.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/FileObjectReaderImpl.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/FilePathHolder.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataReader.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataWriter.java
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/value/fs/CASableIOSupport.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/FileIOChannel.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/FileValueStorage.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/SimpleFileIOChannel.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/TreeFile.java
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/ValueFileIOHelper.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileOperation.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/main/java/org/exoplatform/services/jcr/impl/xml/BufferedDecoder.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/statistics/JCRStatisticsManager.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/core/query/TextExtractorTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/core/query/lucene/IndexingQueueTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/core/query/lucene/directory/DirectoryManagerTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportDocView.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportImport.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportSysView.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestDocumentViewImport.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestImport.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestSystemViewImport.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/nodetypes/TestValueConstraints.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/writing/TestSetProperty.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/writing/TestUpdate.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestMoveNode.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestRestoreWorkspaceInitializer.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestWorkspaceRestore.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/TestArabicSearch.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/TestDateSearch.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/TestErrorMultithreading.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/TestExcelFileSearch.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestByteArrayPersistedValueDataSerialization.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestCleanableFileStreamValueData.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationLogTestLoad.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationVSJavaSerializationTestLoad.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JcrImplSerializationBaseTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/MultipleDeserializationTestLoad.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestEOFException.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationCopyMove.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationStream.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationVersionRestore.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestPropsDeserialization.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/ValueStoragePluginTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/fs/TestRandomValueIO.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/impl/storage/value/fs/Probe.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestFileIOChannel.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestFileValueIO.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/TestValueFileIOHelper.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/tools/tree/generator/RandomValueNodeGenerator.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestPersistedValueData.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestTransientValueData.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestTransientValueDataSpooling.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestValueImpl.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/lab/cluster/test/TestBLOBValue.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/lab/java/TestFileLock.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestBinaryValue.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestBinaryValueMultiThreading.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestConcurrentItems.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestExportBigFiles.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestLoadRepo.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestMoveBinaryValue.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestMoveBinaryValue1.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/thread/CreateThread.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/thread/NtFileCreatorThread.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/dataflow/persistent/TestGetNodesConcurrentModification.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/perf/TestBulkItemsAdd.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/perf/TestPerformance.java
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/usecases/RemoveVDTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/TestRollbackBigFiles.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/common/TestExportImportAmongSessions.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/export/ExportWorkspaceSystemViewTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/version/FileRestoreTest.java
Log:
EXOJCR-756: replace new FileInputStream on PrivilegedFileHelper.fileInputStream(), new File() on PrivilegedFileHelper.file()
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/config/TemplateConfigurationHelper.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/config/TemplateConfigurationHelper.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/config/TemplateConfigurationHelper.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -19,6 +19,7 @@
package org.exoplatform.services.jcr.config;
import org.exoplatform.container.configuration.ConfigurationManager;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.ByteArrayInputStream;
import java.io.FileInputStream;
@@ -148,7 +149,7 @@
ClassLoader cl = Thread.currentThread().getContextClassLoader();
inputStream = cl == null ? null : cl.getResourceAsStream(filename);
}
-
+
// check system class loader
if (inputStream == null)
{
@@ -160,7 +161,7 @@
{
try
{
- inputStream = new FileInputStream(filename);
+ inputStream = PrivilegedFileHelper.fileInputStream(filename);
}
catch (IOException e)
{
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/config/RepositoryServiceConfigurationImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/config/RepositoryServiceConfigurationImpl.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/config/RepositoryServiceConfigurationImpl.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -170,9 +170,9 @@
else
{
URL filePath = configurationService.getURL(param.getValue());
- File sourceConfig = new File(filePath.toURI());
+ File sourceConfig = PrivilegedFileHelper.file(filePath.toURI());
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmm");
- File backUp = new File(sourceConfig.getAbsoluteFile() + "_" + format.format(new Date()));
+ File backUp = PrivilegedFileHelper.file(sourceConfig.getAbsoluteFile() + "_" + format.format(new Date()));
if (!sourceConfig.renameTo(backUp))
throw new RepositoryException("Can't back up configuration on path " + sourceConfig.getAbsolutePath());
saveStream = PrivilegedFileHelper.fileOutputStream(sourceConfig);
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/BackupWorkspaceInitializer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/BackupWorkspaceInitializer.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/BackupWorkspaceInitializer.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -100,7 +100,7 @@
else
restorePath = fullBackupPath;
- this.tempDir = new File(System.getProperty("java.io.tmpdir"));
+ this.tempDir = PrivilegedFileHelper.file(System.getProperty("java.io.tmpdir"));
}
@Override
@@ -179,7 +179,7 @@
ObjectInputStream ois = null;
try
{
- ois = new ObjectInputStream(new FileInputStream(incrementalBackupFile));
+ ois = new ObjectInputStream(PrivilegedFileHelper.fileInputStream(incrementalBackupFile));
while (true)
{
@@ -286,7 +286,7 @@
{
ArrayList<File> list = new ArrayList<File>();
- File rDir = new File(restoreDir);
+ File rDir = PrivilegedFileHelper.file(restoreDir);
Pattern fullBackupPattern = Pattern.compile(".+\\.0");
for (File f : rDir.listFiles(new BackupFilesFilter()))
@@ -308,7 +308,7 @@
private String getFullBackupPath()
{
- File rDir = new File(restoreDir);
+ File rDir = PrivilegedFileHelper.file(restoreDir);
Pattern p = Pattern.compile(".+\\.0");
for (File f : rDir.listFiles(new BackupFilesFilter()))
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SysViewWorkspaceInitializer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SysViewWorkspaceInitializer.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SysViewWorkspaceInitializer.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -417,7 +417,7 @@
+ ") RestoreIntializer should have mandatory parameter "
+ SysViewWorkspaceInitializer.RESTORE_PATH_PARAMETER);
- this.tempDir = new File(System.getProperty("java.io.tmpdir"));
+ this.tempDir = PrivilegedFileHelper.file(System.getProperty("java.io.tmpdir"));
}
/**
@@ -463,7 +463,7 @@
WorkspaceDataContainer.DEF_MAXBUFFERSIZE);
this.restorePath = restorePath;
- this.tempDir = new File(System.getProperty("java.io.tmpdir"));
+ this.tempDir = PrivilegedFileHelper.file(System.getProperty("java.io.tmpdir"));
}
/**
@@ -533,7 +533,7 @@
NamespaceException, RepositoryException, IllegalNameException
{
- InputStream input = new FileInputStream(restorePath);
+ InputStream input = PrivilegedFileHelper.fileInputStream(restorePath);
try
{
XMLStreamReader reader = XMLInputFactory.newInstance().createXMLStreamReader(input);
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/FileSystemLockPersister.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/FileSystemLockPersister.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/lock/FileSystemLockPersister.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -34,6 +34,7 @@
import org.exoplatform.services.jcr.impl.core.query.SearchManager;
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.WorkspacePersistentDataManager;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.observation.ExtendedEvent;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -117,7 +118,7 @@
public void add(LockData lock) throws LockException
{
log.debug("add event fire");
- File lockFile = new File(rootDir, lock.getNodeIdentifier());
+ File lockFile = PrivilegedFileHelper.file(rootDir, lock.getNodeIdentifier());
if (lockFile.exists())
{
@@ -143,7 +144,7 @@
public void remove(LockData lock) throws LockException
{
log.debug("remove event fire");
- File lockFile = new File(rootDir, lock.getNodeIdentifier());
+ File lockFile = PrivilegedFileHelper.file(rootDir, lock.getNodeIdentifier());
if (!lockFile.exists())
{
// throw new LockException("Persistent lock information not exists");
@@ -213,7 +214,7 @@
// remove files
for (int i = 0; i < list.length; i++)
{
- File lockFile = new File(rootDir, list[i]);
+ File lockFile = PrivilegedFileHelper.file(rootDir, list[i]);
if (!lockFile.exists())
{
log.warn("Persistent lock information for node id " + list[i] + " doesn't exists");
@@ -287,7 +288,7 @@
if (root == null)
throw new RepositoryConfigurationException("Repository service configuration." + " Source name ("
+ PARAM_ROOT_DIR + ") is expected");
- rootDir = new File(root);
+ rootDir = PrivilegedFileHelper.file(root);
if (rootDir.exists())
{
if (!rootDir.isDirectory())
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ErrorLog.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ErrorLog.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ErrorLog.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -187,7 +187,7 @@
*/
public List<String> readList() throws IOException
{
- InputStream in = new FileInputStream(logFile);
+ InputStream in = PrivilegedFileHelper.fileInputStream(logFile);
try
{
List<String> list = new ArrayList<String>();
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/FileBasedNamespaceMappings.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/FileBasedNamespaceMappings.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/FileBasedNamespaceMappings.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -150,7 +150,7 @@
{
if (storage.exists())
{
- InputStream in = new FileInputStream(storage);
+ InputStream in = PrivilegedFileHelper.fileInputStream(storage);
try
{
Properties props = new Properties();
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/SearchIndex.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -59,6 +59,7 @@
import org.exoplatform.services.jcr.impl.core.query.SearchIndexConfigurationHelper;
import org.exoplatform.services.jcr.impl.core.query.lucene.directory.DirectoryManager;
import org.exoplatform.services.jcr.impl.core.query.lucene.directory.FSDirectoryManager;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.w3c.dom.Element;
@@ -473,6 +474,7 @@
* if an error occurs while initializing this handler.
* @throws RepositoryException
*/
+ @Override
public void doInit() throws IOException, RepositoryException
{
QueryHandlerContext context = getContext();
@@ -486,7 +488,7 @@
if (path != null)
{
- indexDirectory = new File(path);
+ indexDirectory = PrivilegedFileHelper.file(path);
if (!indexDirectory.exists())
{
if (!indexDirectory.mkdirs())
@@ -520,7 +522,7 @@
else
{
// read local namespace mappings
- File mapFile = new File(indexDirectory, NS_MAPPING_FILE);
+ File mapFile = PrivilegedFileHelper.file(indexDirectory, NS_MAPPING_FILE);
if (mapFile.exists())
{
// be backward compatible and use ns_mappings.properties from
@@ -589,7 +591,7 @@
new Integer(getIndexFormatVersion().getVersion()));
}
- File file = new File(indexDirectory, ERROR_LOG);
+ File file = PrivilegedFileHelper.file(indexDirectory, ERROR_LOG);
errorLog = new ErrorLog(file, errorLogfileSize);
// reprocess any notfinished notifies;
if (modeHandler.getMode() == IndexerIoMode.READ_WRITE)
@@ -865,6 +867,7 @@
return new FilterMultiColumnQueryHits(searcher.execute(query, sort, resultFetchHint,
QueryImpl.DEFAULT_SELECTOR_NAME))
{
+ @Override
public void close() throws IOException
{
try
@@ -912,6 +915,7 @@
searcher.setSimilarity(getSimilarity());
return new FilterMultiColumnQueryHits(query.execute(searcher, sort, resultFetchHint))
{
+ @Override
public void close() throws IOException
{
try
@@ -1317,14 +1321,14 @@
int lastSeparator = synonymProviderConfigPath.lastIndexOf(separator);
if (lastSeparator != -1)
{
- File root = new File(path, synonymProviderConfigPath.substring(0, lastSeparator));
+ File root = PrivilegedFileHelper.file(path, synonymProviderConfigPath.substring(0, lastSeparator));
fsr =
- new BufferedInputStream(new FileInputStream(new File(root, synonymProviderConfigPath
+ new BufferedInputStream(PrivilegedFileHelper.fileInputStream(PrivilegedFileHelper.file(root, synonymProviderConfigPath
.substring(lastSeparator + 1))));
}
else
{
- fsr = new BufferedInputStream(new FileInputStream(new File(synonymProviderConfigPath)));
+ fsr = new BufferedInputStream(PrivilegedFileHelper.fileInputStream(PrivilegedFileHelper.file(synonymProviderConfigPath)));
}
synonymProviderConfigFs = fsr;
@@ -1386,7 +1390,7 @@
if (indexingConfigPath != null)
{
- // File config = new File(indexingConfigPath);
+ // File config = PrivilegedFileHelper.file(indexingConfigPath);
InputStream is = SearchIndex.class.getResourceAsStream(indexingConfigPath);
if (is == null)
@@ -1798,6 +1802,7 @@
return hi;
}
+ @Override
public boolean equals(Object obj)
{
if (obj instanceof CombinedIndexReader)
@@ -1808,6 +1813,7 @@
return false;
}
+ @Override
public int hashCode()
{
int hash = 0;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/directory/FSDirectoryManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/directory/FSDirectoryManager.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/directory/FSDirectoryManager.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -21,6 +21,7 @@
import org.apache.lucene.store.NativeFSLockFactory;
import org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex;
import org.exoplatform.services.jcr.impl.util.SecurityHelper;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.io.FileFilter;
@@ -48,7 +49,7 @@
{
public Object run() throws Exception
{
- baseDir = new File(handler.getPath());
+ baseDir = PrivilegedFileHelper.file(handler.getPath());
return null;
}
});
@@ -63,7 +64,7 @@
{
public Boolean run() throws Exception
{
- return new File(baseDir, name).exists();
+ return PrivilegedFileHelper.file(baseDir, name).exists();
}
});
@@ -85,7 +86,7 @@
}
else
{
- dir = new File(baseDir, name);
+ dir = PrivilegedFileHelper.file(baseDir, name);
}
return FSDirectory.getDirectory(dir, new NativeFSLockFactory(dir));
}
@@ -134,7 +135,7 @@
{
public Boolean run() throws Exception
{
- File directory = new File(baseDir, name);
+ File directory = PrivilegedFileHelper.file(baseDir, name);
// trivial if it does not exist anymore
if (!directory.exists())
{
@@ -171,8 +172,8 @@
{
public Boolean run() throws Exception
{
- File src = new File(baseDir, from);
- File dest = new File(baseDir, to);
+ File src = PrivilegedFileHelper.file(baseDir, from);
+ File dest = PrivilegedFileHelper.file(baseDir, to);
return src.renameTo(dest);
}
});
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/value/ValueFactoryImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/value/ValueFactoryImpl.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/value/ValueFactoryImpl.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -30,6 +30,7 @@
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
import org.exoplatform.services.jcr.impl.util.JCRDateFormat;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.impl.util.io.WorkspaceFileCleanerHolder;
import org.exoplatform.services.jcr.storage.WorkspaceDataContainer;
import org.exoplatform.services.log.ExoLogger;
@@ -83,7 +84,7 @@
{
public Object run()
{
- tempDirectory = new File(System.getProperty("java.io.tmpdir"));
+ tempDirectory = PrivilegedFileHelper.file(System.getProperty("java.io.tmpdir"));
return null;
}
};
@@ -104,7 +105,7 @@
{
public Object run()
{
- tempDirectory = new File(System.getProperty("java.io.tmpdir"));
+ tempDirectory = PrivilegedFileHelper.file(System.getProperty("java.io.tmpdir"));
return null;
}
};
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/EditableValueData.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/EditableValueData.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/EditableValueData.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -77,7 +77,7 @@
sch = new RandomAccessFile(sf, "rw").getChannel();
- FileChannel sourceCh = new FileInputStream(spoolFile).getChannel();
+ FileChannel sourceCh = PrivilegedFileHelper.fileInputStream(spoolFile).getChannel();
try
{
sch.transferFrom(sourceCh, 0, sourceCh.size());
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -228,7 +228,7 @@
}
else if (spoolFile != null)
{
- return new FileInputStream(spoolFile); // from spool file if initialized
+ return PrivilegedFileHelper.fileInputStream(spoolFile); // from spool file if initialized
}
else if (tmpStream != null)
{
@@ -345,7 +345,7 @@
else
{
if (spoolChannel == null)
- spoolChannel = new FileInputStream(spoolFile).getChannel();
+ spoolChannel = PrivilegedFileHelper.fileInputStream(spoolFile).getChannel();
// validation
if (position >= spoolChannel.size() && position > 0)
@@ -645,7 +645,7 @@
*/
private byte[] fileToByteArray() throws IOException
{
- FileChannel fch = new FileInputStream(spoolFile).getChannel();
+ FileChannel fch = PrivilegedFileHelper.fileInputStream(spoolFile).getChannel();
if (LOG.isDebugEnabled() && fch.size() > maxBufferSize)
{
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FilePersistedValueData.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FilePersistedValueData.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FilePersistedValueData.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -114,7 +114,7 @@
{
if (channel == null)
{
- channel = new FileInputStream(file).getChannel();
+ channel = PrivilegedFileHelper.fileInputStream(file).getChannel();
}
// validation
@@ -198,7 +198,7 @@
private byte[] fileToByteArray() throws IOException
{
// TODO do refactor of work with NIO and java6
- FileChannel fch = new FileInputStream(file).getChannel();
+ FileChannel fch = PrivilegedFileHelper.fileInputStream(file).getChannel();
try
{
@@ -236,7 +236,7 @@
byte[] buf = new byte[size];
in.readFully(buf);
- File f = new File(new String(buf, "UTF-8"));
+ File f = PrivilegedFileHelper.file(new String(buf, "UTF-8"));
// validate if exists
if (f.exists())
{
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/FileObjectReaderImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/FileObjectReaderImpl.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/FileObjectReaderImpl.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -21,6 +21,7 @@
import org.exoplatform.services.jcr.dataflow.serialization.ObjectReader;
import org.exoplatform.services.jcr.dataflow.serialization.SerializationConstants;
import org.exoplatform.services.jcr.impl.Constants;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.EOFException;
import java.io.File;
@@ -58,7 +59,7 @@
*/
public FileObjectReaderImpl(File file) throws FileNotFoundException
{
- this.channel = new FileInputStream(file).getChannel();
+ this.channel = PrivilegedFileHelper.fileInputStream(file).getChannel();
}
/**
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/FilePathHolder.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/FilePathHolder.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/FilePathHolder.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -19,6 +19,7 @@
package org.exoplatform.services.jcr.impl.dataflow.serialization;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.util.ArrayList;
@@ -85,7 +86,7 @@
List<String> ls = new ArrayList<String>(filePathMap.values());
for (String fPath : ls)
- cleaner.addFile(new File(fPath));
+ cleaner.addFile(PrivilegedFileHelper.file(fPath));
}
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataReader.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataReader.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataReader.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -87,7 +87,7 @@
*/
public AbstractPersistedValueData read(ObjectReader in) throws UnknownClassIdException, IOException
{
- File tempDirectory = new File(SerializationConstants.TEMP_DIR);
+ File tempDirectory = PrivilegedFileHelper.file(SerializationConstants.TEMP_DIR);
tempDirectory.mkdirs();
// read id
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataWriter.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataWriter.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataWriter.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -23,6 +23,7 @@
import org.exoplatform.services.jcr.impl.dataflow.AbstractPersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.FilePersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.StreamPersistedValueData;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.util.IdGenerator;
import java.io.FileInputStream;
@@ -70,14 +71,14 @@
FilePersistedValueData streamed = (FilePersistedValueData)vd;
InputStream in = null;
-
+
if (streamed.getFile() == null && vd instanceof StreamPersistedValueData)
{
- in = new FileInputStream(((StreamPersistedValueData)vd).getTempFile());
+ in = PrivilegedFileHelper.fileInputStream(((StreamPersistedValueData)vd).getTempFile());
}
else
{
- in = streamed.getAsStream();
+ in = streamed.getAsStream();
}
// TODO optimize it, use channels
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 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCWorkspaceDataContainer.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -34,6 +34,7 @@
import org.exoplatform.services.jcr.impl.storage.jdbc.statistics.StatisticsJDBCStorageConnection;
import org.exoplatform.services.jcr.impl.storage.jdbc.update.StorageUpdateManager;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.impl.util.jdbc.DBInitializerException;
import org.exoplatform.services.jcr.storage.WorkspaceDataContainer;
import org.exoplatform.services.jcr.storage.WorkspaceStorageConnection;
@@ -183,6 +184,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public Connection getJdbcConnection() throws RepositoryException
{
return connection;
@@ -380,11 +382,11 @@
try
{
String sdParam = wsConfig.getContainer().getParameterValue(SWAPDIR_PROP);
- this.swapDirectory = new File(sdParam);
+ this.swapDirectory = PrivilegedFileHelper.file(sdParam);
}
catch (RepositoryConfigurationException e1)
{
- this.swapDirectory = new File(DEF_SWAPDIR);
+ this.swapDirectory = PrivilegedFileHelper.file(DEF_SWAPDIR);
}
if (!swapDirectory.exists())
swapDirectory.mkdirs();
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/CASableIOSupport.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/CASableIOSupport.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/CASableIOSupport.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -18,6 +18,7 @@
*/
package org.exoplatform.services.jcr.impl.storage.value.fs;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -88,6 +89,6 @@
public File getFile(String hash)
{
// work with digest
- return new File(channel.rootDir, channel.makeFilePath(hash, 0));
+ return PrivilegedFileHelper.file(channel.rootDir, channel.makeFilePath(hash, 0));
}
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/FileIOChannel.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/FileIOChannel.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/FileIOChannel.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -25,6 +25,7 @@
import org.exoplatform.services.jcr.impl.storage.value.fs.operations.ValueFileIOHelper;
import org.exoplatform.services.jcr.impl.storage.value.fs.operations.WriteValue;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.storage.value.ValueIOChannel;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -95,7 +96,7 @@
this.storageId = storageId;
this.resources = resources;
- this.tempDir = new File(rootDir, FileValueStorage.TEMP_DIR_NAME);
+ this.tempDir = PrivilegedFileHelper.file(rootDir, FileValueStorage.TEMP_DIR_NAME);
}
/**
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/FileValueStorage.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/FileValueStorage.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/FileValueStorage.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -21,6 +21,7 @@
import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
import org.exoplatform.services.jcr.impl.storage.value.ValueDataResourceHolder;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.storage.WorkspaceStorageConnection;
import org.exoplatform.services.jcr.storage.value.ValueStoragePlugin;
import org.exoplatform.services.log.ExoLogger;
@@ -67,6 +68,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public void init(Properties props, ValueDataResourceHolder resources) throws IOException,
RepositoryConfigurationException
{
@@ -77,6 +79,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public void checkConsistency(WorkspaceStorageConnection dataConnection)
{
@@ -103,7 +106,7 @@
*/
protected void prepareRootDir(String rootDirPath) throws IOException, RepositoryConfigurationException
{
- this.rootDir = new File(rootDirPath);
+ this.rootDir = PrivilegedFileHelper.file(rootDirPath);
if (!rootDir.exists())
{
@@ -112,7 +115,7 @@
log.info("Directory created: " + rootDir.getAbsolutePath());
// create internal temp dir
- File tempDir = new File(rootDir, TEMP_DIR_NAME);
+ File tempDir = PrivilegedFileHelper.file(rootDir, TEMP_DIR_NAME);
tempDir.mkdirs();
if (tempDir.exists() && tempDir.isDirectory())
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/SimpleFileIOChannel.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/SimpleFileIOChannel.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/SimpleFileIOChannel.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -20,6 +20,7 @@
import org.exoplatform.services.jcr.impl.storage.value.ValueDataResourceHolder;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.io.FileFilter;
@@ -65,7 +66,7 @@
@Override
protected File getFile(String propertyId, int orderNumber) throws IOException
{
- return new File(rootDir, makeFilePath(propertyId, orderNumber));
+ return PrivilegedFileHelper.file(rootDir, makeFilePath(propertyId, orderNumber));
}
@Override
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/TreeFile.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/TreeFile.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/TreeFile.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -19,6 +19,7 @@
package org.exoplatform.services.jcr.impl.storage.value.fs;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -62,7 +63,7 @@
{
boolean res = deleteFromSuper();
if (res)
- deleteParent(new File(getParent()));
+ deleteParent(PrivilegedFileHelper.file(getParent()));
return res;
}
@@ -83,7 +84,7 @@
{
if (res = fp.delete())
{
- res = deleteParent(new File(fp.getParent()));
+ res = deleteParent(PrivilegedFileHelper.file(fp.getParent()));
}
else
{
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-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/CASableWriteValue.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -120,7 +120,7 @@
// write calc digest hash
// we need hash at first to know do we have to store file or just use one
// existing (with same hash)
- File temp = new File(tempDir, IdGenerator.generate() + "-" + propertyId + orderNumb + TEMP_FILE_EXTENSION);
+ File temp = PrivilegedFileHelper.file(tempDir, IdGenerator.generate() + "-" + propertyId + orderNumb + TEMP_FILE_EXTENSION);
FileDigestOutputStream out = cas.openFile(temp);
try
{
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileIOHelper.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileIOHelper.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileIOHelper.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -90,7 +90,7 @@
}
else
{
- FileInputStream is = new FileInputStream(file);
+ FileInputStream is = PrivilegedFileHelper.fileInputStream(file);
try
{
int buffSize = (int)fileSize;
@@ -251,7 +251,7 @@
+ tempFile.getAbsolutePath() + ". Destination: " + file.getAbsolutePath());
}
- copyClose(new FileInputStream(tempFile), PrivilegedFileHelper.fileOutputStream(file));
+ copyClose(PrivilegedFileHelper.fileInputStream(tempFile), PrivilegedFileHelper.fileOutputStream(file));
}
}
else
@@ -329,7 +329,7 @@
in = streamed.getStream();
if (in == null)
{
- in = new FileInputStream(streamed.getTempFile());
+ in = PrivilegedFileHelper.fileInputStream(streamed.getTempFile());
}
}
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileOperation.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileOperation.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileOperation.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -130,7 +130,7 @@
public Object run() throws Exception
{
// lock file in temp directory
- lockFile = new File(tempDir, targetFile.getName() + LOCK_FILE_EXTENSION);
+ lockFile = PrivilegedFileHelper.file(tempDir, targetFile.getName() + LOCK_FILE_EXTENSION);
FileOutputStream lout = PrivilegedFileHelper.fileOutputStream(lockFile, true);
lout.write(operationInfo.getBytes()); // TODO write info
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-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/PrivilegedFileHelper.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -23,6 +23,7 @@
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
+import java.net.URI;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.security.PrivilegedActionException;
@@ -161,6 +162,37 @@
}
}
+ public static FileInputStream fileInputStream(final String name) throws FileNotFoundException
+ {
+ PrivilegedExceptionAction<FileInputStream> action = new PrivilegedExceptionAction<FileInputStream>()
+ {
+ public FileInputStream run() throws Exception
+ {
+ return new FileInputStream(name);
+ }
+ };
+ try
+ {
+ return AccessController.doPrivileged(action);
+ }
+ catch (PrivilegedActionException pae)
+ {
+ Throwable cause = pae.getCause();
+ if (cause instanceof FileNotFoundException)
+ {
+ throw (FileNotFoundException)cause;
+ }
+ else if (cause instanceof RuntimeException)
+ {
+ throw (RuntimeException)cause;
+ }
+ else
+ {
+ throw new RuntimeException(cause);
+ }
+ }
+ }
+
public static File createTempFile(final String prefix, final String suffix, final File directory)
throws IllegalArgumentException, IOException
{
@@ -331,6 +363,42 @@
return AccessController.doPrivileged(action);
}
+ public static File file(final URI uri)
+ {
+ PrivilegedAction<File> action = new PrivilegedAction<File>()
+ {
+ public File run()
+ {
+ return new File(uri);
+ }
+ };
+ return AccessController.doPrivileged(action);
+ }
+
+ public static File file(final String parent, final String child)
+ {
+ PrivilegedAction<File> action = new PrivilegedAction<File>()
+ {
+ public File run()
+ {
+ return new File(parent, child);
+ }
+ };
+ return AccessController.doPrivileged(action);
+ }
+
+ public static File file(final File parent, final String child)
+ {
+ PrivilegedAction<File> action = new PrivilegedAction<File>()
+ {
+ public File run()
+ {
+ return new File(parent, child);
+ }
+ };
+ return AccessController.doPrivileged(action);
+ }
+
public static String[] list(final File file)
{
PrivilegedAction<String[]> action = new PrivilegedAction<String[]>()
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/BufferedDecoder.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/BufferedDecoder.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/BufferedDecoder.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -101,7 +101,7 @@
{
out.close();
- return new BufferedInputStream(new FileInputStream(fileBuffer));
+ return new BufferedInputStream(PrivilegedFileHelper.fileInputStream(fileBuffer));
}
else
{
@@ -141,7 +141,7 @@
try
{
out.close();
- BufferedInputStream is = new BufferedInputStream(new FileInputStream(fileBuffer));
+ BufferedInputStream is = new BufferedInputStream(PrivilegedFileHelper.fileInputStream(fileBuffer));
StringBuffer fileData = new StringBuffer(DEFAULT_READ_BUFFER_SIZE);
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/statistics/JCRStatisticsManager.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/statistics/JCRStatisticsManager.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/statistics/JCRStatisticsManager.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -25,6 +25,7 @@
import org.exoplatform.management.jmx.annotations.NameTemplate;
import org.exoplatform.management.jmx.annotations.Property;
import org.exoplatform.management.rest.annotations.RESTEndpoint;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.storage.WorkspaceStorageConnection;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -147,8 +148,8 @@
try
{
file =
- new File(System.getProperty("user.dir"), "Statistics" + category + "-" + System.currentTimeMillis()
- + ".csv");
+ PrivilegedFileHelper.file(System.getProperty("user.dir"), "Statistics" + category + "-"
+ + System.currentTimeMillis() + ".csv");
file.createNewFile();
pw = new PrintWriter(file);
}
@@ -217,6 +218,7 @@
}
Runtime.getRuntime().addShutdownHook(new Thread("JCRStatisticsManager-Hook")
{
+ @Override
public void run()
{
printData();
@@ -224,6 +226,7 @@
});
Thread t = new Thread("JCRStatisticsManager-Writer")
{
+ @Override
public void run()
{
while (true)
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/core/query/TextExtractorTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/core/query/TextExtractorTest.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/core/query/TextExtractorTest.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -16,6 +16,8 @@
*/
package org.exoplatform.services.jcr.api.core.query;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
+
import javax.jcr.Node;
import java.io.File;
import java.io.InputStream;
@@ -28,91 +30,111 @@
* <code>TextExtractorTest</code> implements a file / folder import from the
* local file system.
*/
-public class TextExtractorTest extends AbstractQueryTest {
+public class TextExtractorTest extends AbstractQueryTest
+{
- private static final String TEST_FOLDER = "test-data";
+ private static final String TEST_FOLDER = "test-data";
- private int fileCount = 0;
+ private int fileCount = 0;
- public void testImport() throws Exception {
- File sourceFolder = new File(TEST_FOLDER);
- // only run if there is test data
- if (!sourceFolder.exists()) {
- return;
- }
- long time = System.currentTimeMillis();
- addContents(sourceFolder,
- testRootNode.addNode(sourceFolder.getName(), "nt:folder"));
- superuser.save();
- time = System.currentTimeMillis() - time;
- log.println("Imported " + fileCount + " files in " + time + " ms.");
- }
+ public void testImport() throws Exception
+ {
+ File sourceFolder = PrivilegedFileHelper.file(TEST_FOLDER);
+ // only run if there is test data
+ if (!sourceFolder.exists())
+ {
+ return;
+ }
+ long time = System.currentTimeMillis();
+ addContents(sourceFolder, testRootNode.addNode(sourceFolder.getName(), "nt:folder"));
+ superuser.save();
+ time = System.currentTimeMillis() - time;
+ log.println("Imported " + fileCount + " files in " + time + " ms.");
+ }
- /**
- * Recursively adds files and folders to the workspace.
- */
- private void addContents(File folder, Node n) throws Exception {
- String[] names = folder.list();
- for (int i = 0; i < names.length; i++) {
- File f = new File(folder, names[i]);
- if (f.canRead()) {
- if (f.isDirectory()) {
- log.println("Added folder: " + f.getAbsolutePath());
- addContents(f, n.addNode(names[i], "nt:folder"));
- } else {
- addFile(n, f);
- log.println("Added file: " + f.getAbsolutePath());
- // save after 100 files
- if (++fileCount % 100 == 0) {
- n.getSession().save();
- }
- }
+ /**
+ * Recursively adds files and folders to the workspace.
+ */
+ private void addContents(File folder, Node n) throws Exception
+ {
+ String[] names = folder.list();
+ for (int i = 0; i < names.length; i++)
+ {
+ File f = PrivilegedFileHelper.file(folder, names[i]);
+ if (f.canRead())
+ {
+ if (f.isDirectory())
+ {
+ log.println("Added folder: " + f.getAbsolutePath());
+ addContents(f, n.addNode(names[i], "nt:folder"));
}
- }
- }
-
- /**
- * Repeatedly update a file in the workspace and force text extraction
- * on it.
- */
- public void testRepeatedUpdate() throws Exception {
- File testFile = new File("test.pdf");
- if (!testFile.exists()) {
- return;
- }
- Node resource = addFile(testRootNode, testFile).getNode("jcr:content");
- superuser.save();
- for (int i = 0; i < 10; i++) {
- // kick start text extractor
- executeXPathQuery(testPath, new Node[]{testRootNode});
- InputStream in = new BufferedInputStream(new FileInputStream(testFile));
- try {
- resource.setProperty("jcr:data", in);
- } finally {
- in.close();
+ else
+ {
+ addFile(n, f);
+ log.println("Added file: " + f.getAbsolutePath());
+ // save after 100 files
+ if (++fileCount % 100 == 0)
+ {
+ n.getSession().save();
+ }
}
- log.println("updating resource...");
- superuser.save();
- }
- }
+ }
+ }
+ }
- private static Node addFile(Node folder, File f) throws Exception {
- String mimeType = URLConnection.guessContentTypeFromName(f.getName());
- if (mimeType == null) {
- mimeType = "application/octet-stream";
- }
- Node file = folder.addNode(f.getName(), "nt:file");
- Node resource = file.addNode("jcr:content", "nt:resource");
- InputStream in = new BufferedInputStream(new FileInputStream(f));
- try {
+ /**
+ * Repeatedly update a file in the workspace and force text extraction
+ * on it.
+ */
+ public void testRepeatedUpdate() throws Exception
+ {
+ File testFile = PrivilegedFileHelper.file("test.pdf");
+ if (!testFile.exists())
+ {
+ return;
+ }
+ Node resource = addFile(testRootNode, testFile).getNode("jcr:content");
+ superuser.save();
+ for (int i = 0; i < 10; i++)
+ {
+ // kick start text extractor
+ executeXPathQuery(testPath, new Node[]{testRootNode});
+ InputStream in = new BufferedInputStream(PrivilegedFileHelper.fileInputStream(testFile));
+ try
+ {
resource.setProperty("jcr:data", in);
- resource.setProperty("jcr:mimeType", mimeType);
- Calendar lastModified = Calendar.getInstance();
- lastModified.setTimeInMillis(f.lastModified());
- resource.setProperty("jcr:lastModified", lastModified);
- } finally {
+ }
+ finally
+ {
in.close();
- }
- return file;
- }
+ }
+ log.println("updating resource...");
+ superuser.save();
+ }
+ }
+
+ private static Node addFile(Node folder, File f) throws Exception
+ {
+ String mimeType = URLConnection.guessContentTypeFromName(f.getName());
+ if (mimeType == null)
+ {
+ mimeType = "application/octet-stream";
+ }
+ Node file = folder.addNode(f.getName(), "nt:file");
+ Node resource = file.addNode("jcr:content", "nt:resource");
+ InputStream in = new BufferedInputStream(PrivilegedFileHelper.fileInputStream(f));
+ try
+ {
+ resource.setProperty("jcr:data", in);
+ resource.setProperty("jcr:mimeType", mimeType);
+ Calendar lastModified = Calendar.getInstance();
+ lastModified.setTimeInMillis(f.lastModified());
+ resource.setProperty("jcr:lastModified", lastModified);
+ }
+ finally
+ {
+ in.close();
+ }
+ return file;
+ }
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/core/query/lucene/IndexingQueueTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/core/query/lucene/IndexingQueueTest.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/core/query/lucene/IndexingQueueTest.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -16,13 +16,12 @@
*/
package org.exoplatform.services.jcr.api.core.query.lucene;
-
-
import org.exoplatform.services.jcr.api.core.query.AbstractIndexingTest;
import org.exoplatform.services.jcr.impl.core.RepositoryImpl;
import org.exoplatform.services.jcr.impl.core.query.lucene.IndexingQueue;
import org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import javax.jcr.Node;
import javax.jcr.NodeIterator;
@@ -42,204 +41,206 @@
* nodes in a background thread when text extraction takes more than 10 ms. See
* the workspace.xml file for the indexing-test workspace.
*/
-public class IndexingQueueTest extends AbstractIndexingTest {
+public class IndexingQueueTest extends AbstractIndexingTest
+{
- private static final File TEMP_DIR = new File(System.getProperty("java.io.tmpdir"));
+ private static final File TEMP_DIR = PrivilegedFileHelper.file(System.getProperty("java.io.tmpdir"));
- private static final String CONTENT_TYPE = "application/indexing-queue-test";
+ private static final String CONTENT_TYPE = "application/indexing-queue-test";
- private static final String ENCODING = "UTF-8";
- public void testname() throws Exception
+ private static final String ENCODING = "UTF-8";
+
+ public void testname() throws Exception
{
-
+
}
-//
-// public void testQueue() throws Exception {
-// Extractor.sleepTime = 200;
-// SearchIndex index = (SearchIndex) getQueryHandler();
-// IndexingQueue queue = index.getIndex().getIndexingQueue();
-//
-// assertEquals(0, queue.getNumPendingDocuments());
-//
-// String text = "the quick brown fox jumps over the lazy dog.";
-// InputStream in = new ByteArrayInputStream(text.getBytes(ENCODING));
-// Node resource = testRootNode.addNode(nodeName1, "nt:resource");
-// resource.setProperty("jcr:data", in);
-// resource.setProperty("jcr:lastModified", Calendar.getInstance());
-// resource.setProperty("jcr:mimeType", CONTENT_TYPE);
-// resource.setProperty("jcr:encoding", ENCODING);
-// session.save();
-//
-// assertEquals(1, queue.getNumPendingDocuments());
-//
-// Query q = qm.createQuery(testPath + "/*[jcr:contains(., 'fox')]", Query.XPATH);
-// NodeIterator nodes = q.execute().getNodes();
-// assertFalse(nodes.hasNext());
-//
-// synchronized (index.getIndex()) {
-// while (queue.getNumPendingDocuments() > 0) {
-// index.getIndex().wait(50);
-// }
-// }
-//
-// q = qm.createQuery(testPath + "/*[jcr:contains(., 'fox')]", Query.XPATH);
-// nodes = q.execute().getNodes();
-// assertTrue(nodes.hasNext());
-// }
-//
-// public void testInitialIndex() throws Exception {
-// Extractor.sleepTime = 200;
-// SearchIndex index = (SearchIndex) getQueryHandler();
-// File indexDir = new File(index.getPath());
-//
-// // fill workspace
-// Node testFolder = testRootNode.addNode("folder", "nt:folder");
-// String text = "the quick brown fox jumps over the lazy dog.";
-// int num = createFiles(testFolder, text.getBytes(ENCODING), 10, 2, 0);
-// session.save();
-//
-// // shutdown workspace
-// RepositoryImpl repo = (RepositoryImpl) session.getRepository();
-// session.logout();
-// session = null;
-// superuser.logout();
-// superuser = null;
-// TestHelper.shutdownWorkspace(WORKSPACE_NAME, repo);
-//
-// // delete index
-// try {
-// FileUtil.delete(indexDir);
-// } catch (IOException e) {
-// fail("Unable to delete index directory");
-// }
-//
-// int initialNumExtractorFiles = getNumExtractorFiles();
-//
-// Extractor.sleepTime = 20;
-// Thread t = new Thread(new Runnable() {
-// public void run() {
-// try {
-// session = helper.getSuperuserSession(WORKSPACE_NAME);
-// } catch (RepositoryException e) {
-// throw new RuntimeException(e);
-// }
-// }
-// });
-// t.start();
-//
-// while (t.isAlive()) {
-// // there must not be more than 20 extractor files, because:
-// // - initial index creation checks indexing queue every 10 nodes
-// // - there is an aggregate definition on the workspace that causes
-// // 2 extractor jobs per nt:resource
-// // => 2 * 10 = 20
-// int numFiles = getNumExtractorFiles() - initialNumExtractorFiles;
-// assertTrue(numFiles <= 20);
-// Thread.sleep(50);
-// }
-//
-// qm = session.getWorkspace().getQueryManager();
-// index = (SearchIndex) getQueryHandler();
-// IndexingQueue queue = index.getIndex().getIndexingQueue();
-//
-// // flush index to make sure any documents in the buffer are written
-// // to the index. this is to make sure all nodes are pushed either to
-// // the index or to the indexing queue
-// index.getIndex().flush();
-//
-// synchronized (index.getIndex()) {
-// while (queue.getNumPendingDocuments() > 0) {
-// index.getIndex().wait(50);
-// }
-// }
-//
-// String stmt = testPath + "//element(*, nt:resource)[jcr:contains(., 'fox')]";
-// Query q = qm.createQuery(stmt, Query.XPATH);
-// assertEquals(num, q.execute().getNodes().getSize());
-// }
-//
-// /*
-// * Test case for JCR-2082
-// */
-// public void testReaderUpToDate() throws Exception {
-// Extractor.sleepTime = 10;
-// SearchIndex index = (SearchIndex) getQueryHandler();
-// File indexDir = new File(index.getPath());
-//
-// // shutdown workspace
-// RepositoryImpl repo = (RepositoryImpl) session.getRepository();
-// session.logout();
-// session = null;
-// superuser.logout();
-// superuser = null;
-// TestHelper.shutdownWorkspace(WORKSPACE_NAME, repo);
-//
-// // delete index
-// try {
-// FileUtil.delete(indexDir);
-// } catch (IOException e) {
-// fail("Unable to delete index directory");
-// }
-//
-// // start workspace again by getting a session
-// session = helper.getSuperuserSession(WORKSPACE_NAME);
-//
-// qm = session.getWorkspace().getQueryManager();
-//
-// Query q = qm.createQuery(testPath, Query.XPATH);
-// assertEquals(1, getSize(q.execute().getNodes()));
-// }
-//
-// private int createFiles(Node folder, byte[] data,
-// int filesPerLevel, int levels, int count)
-// throws RepositoryException {
-// levels--;
-// for (int i = 0; i < filesPerLevel; i++) {
-// // create files
-// Node file = folder.addNode("file" + i, "nt:file");
-// InputStream in = new ByteArrayInputStream(data);
-// Node resource = file.addNode("jcr:content", "nt:resource");
-// resource.setProperty("jcr:data", in);
-// resource.setProperty("jcr:lastModified", Calendar.getInstance());
-// resource.setProperty("jcr:mimeType", CONTENT_TYPE);
-// resource.setProperty("jcr:encoding", ENCODING);
-// count++;
-// }
-// if (levels > 0) {
-// for (int i = 0; i < filesPerLevel; i++) {
-// // create files
-// Node subFolder = folder.addNode("folder" + i, "nt:folder");
-// count = createFiles(subFolder, data,
-// filesPerLevel, levels, count);
-// }
-// }
-// return count;
-// }
-//
-// private int getNumExtractorFiles() throws IOException {
-// return TEMP_DIR.listFiles(new FilenameFilter() {
-// public boolean accept(File dir, String name) {
-// return name.startsWith("extractor");
-// }
-// }).length;
-// }
+ //
+ // public void testQueue() throws Exception {
+ // Extractor.sleepTime = 200;
+ // SearchIndex index = (SearchIndex) getQueryHandler();
+ // IndexingQueue queue = index.getIndex().getIndexingQueue();
+ //
+ // assertEquals(0, queue.getNumPendingDocuments());
+ //
+ // String text = "the quick brown fox jumps over the lazy dog.";
+ // InputStream in = new ByteArrayInputStream(text.getBytes(ENCODING));
+ // Node resource = testRootNode.addNode(nodeName1, "nt:resource");
+ // resource.setProperty("jcr:data", in);
+ // resource.setProperty("jcr:lastModified", Calendar.getInstance());
+ // resource.setProperty("jcr:mimeType", CONTENT_TYPE);
+ // resource.setProperty("jcr:encoding", ENCODING);
+ // session.save();
+ //
+ // assertEquals(1, queue.getNumPendingDocuments());
+ //
+ // Query q = qm.createQuery(testPath + "/*[jcr:contains(., 'fox')]", Query.XPATH);
+ // NodeIterator nodes = q.execute().getNodes();
+ // assertFalse(nodes.hasNext());
+ //
+ // synchronized (index.getIndex()) {
+ // while (queue.getNumPendingDocuments() > 0) {
+ // index.getIndex().wait(50);
+ // }
+ // }
+ //
+ // q = qm.createQuery(testPath + "/*[jcr:contains(., 'fox')]", Query.XPATH);
+ // nodes = q.execute().getNodes();
+ // assertTrue(nodes.hasNext());
+ // }
+ //
+ // public void testInitialIndex() throws Exception {
+ // Extractor.sleepTime = 200;
+ // SearchIndex index = (SearchIndex) getQueryHandler();
+ // File indexDir = PrivilegedFileHelper.file(index.getPath());
+ //
+ // // fill workspace
+ // Node testFolder = testRootNode.addNode("folder", "nt:folder");
+ // String text = "the quick brown fox jumps over the lazy dog.";
+ // int num = createFiles(testFolder, text.getBytes(ENCODING), 10, 2, 0);
+ // session.save();
+ //
+ // // shutdown workspace
+ // RepositoryImpl repo = (RepositoryImpl) session.getRepository();
+ // session.logout();
+ // session = null;
+ // superuser.logout();
+ // superuser = null;
+ // TestHelper.shutdownWorkspace(WORKSPACE_NAME, repo);
+ //
+ // // delete index
+ // try {
+ // FileUtil.delete(indexDir);
+ // } catch (IOException e) {
+ // fail("Unable to delete index directory");
+ // }
+ //
+ // int initialNumExtractorFiles = getNumExtractorFiles();
+ //
+ // Extractor.sleepTime = 20;
+ // Thread t = new Thread(new Runnable() {
+ // public void run() {
+ // try {
+ // session = helper.getSuperuserSession(WORKSPACE_NAME);
+ // } catch (RepositoryException e) {
+ // throw new RuntimeException(e);
+ // }
+ // }
+ // });
+ // t.start();
+ //
+ // while (t.isAlive()) {
+ // // there must not be more than 20 extractor files, because:
+ // // - initial index creation checks indexing queue every 10 nodes
+ // // - there is an aggregate definition on the workspace that causes
+ // // 2 extractor jobs per nt:resource
+ // // => 2 * 10 = 20
+ // int numFiles = getNumExtractorFiles() - initialNumExtractorFiles;
+ // assertTrue(numFiles <= 20);
+ // Thread.sleep(50);
+ // }
+ //
+ // qm = session.getWorkspace().getQueryManager();
+ // index = (SearchIndex) getQueryHandler();
+ // IndexingQueue queue = index.getIndex().getIndexingQueue();
+ //
+ // // flush index to make sure any documents in the buffer are written
+ // // to the index. this is to make sure all nodes are pushed either to
+ // // the index or to the indexing queue
+ // index.getIndex().flush();
+ //
+ // synchronized (index.getIndex()) {
+ // while (queue.getNumPendingDocuments() > 0) {
+ // index.getIndex().wait(50);
+ // }
+ // }
+ //
+ // String stmt = testPath + "//element(*, nt:resource)[jcr:contains(., 'fox')]";
+ // Query q = qm.createQuery(stmt, Query.XPATH);
+ // assertEquals(num, q.execute().getNodes().getSize());
+ // }
+ //
+ // /*
+ // * Test case for JCR-2082
+ // */
+ // public void testReaderUpToDate() throws Exception {
+ // Extractor.sleepTime = 10;
+ // SearchIndex index = (SearchIndex) getQueryHandler();
+ // File indexDir = PrivilegedFileHelper.file(index.getPath());
+ //
+ // // shutdown workspace
+ // RepositoryImpl repo = (RepositoryImpl) session.getRepository();
+ // session.logout();
+ // session = null;
+ // superuser.logout();
+ // superuser = null;
+ // TestHelper.shutdownWorkspace(WORKSPACE_NAME, repo);
+ //
+ // // delete index
+ // try {
+ // FileUtil.delete(indexDir);
+ // } catch (IOException e) {
+ // fail("Unable to delete index directory");
+ // }
+ //
+ // // start workspace again by getting a session
+ // session = helper.getSuperuserSession(WORKSPACE_NAME);
+ //
+ // qm = session.getWorkspace().getQueryManager();
+ //
+ // Query q = qm.createQuery(testPath, Query.XPATH);
+ // assertEquals(1, getSize(q.execute().getNodes()));
+ // }
+ //
+ // private int createFiles(Node folder, byte[] data,
+ // int filesPerLevel, int levels, int count)
+ // throws RepositoryException {
+ // levels--;
+ // for (int i = 0; i < filesPerLevel; i++) {
+ // // create files
+ // Node file = folder.addNode("file" + i, "nt:file");
+ // InputStream in = new ByteArrayInputStream(data);
+ // Node resource = file.addNode("jcr:content", "nt:resource");
+ // resource.setProperty("jcr:data", in);
+ // resource.setProperty("jcr:lastModified", Calendar.getInstance());
+ // resource.setProperty("jcr:mimeType", CONTENT_TYPE);
+ // resource.setProperty("jcr:encoding", ENCODING);
+ // count++;
+ // }
+ // if (levels > 0) {
+ // for (int i = 0; i < filesPerLevel; i++) {
+ // // create files
+ // Node subFolder = folder.addNode("folder" + i, "nt:folder");
+ // count = createFiles(subFolder, data,
+ // filesPerLevel, levels, count);
+ // }
+ // }
+ // return count;
+ // }
+ //
+ // private int getNumExtractorFiles() throws IOException {
+ // return TEMP_DIR.listFiles(new FilenameFilter() {
+ // public boolean accept(File dir, String name) {
+ // return name.startsWith("extractor");
+ // }
+ // }).length;
+ // }
-// public static final class Extractor implements TextExtractor {
-//
-// protected static volatile int sleepTime = 200;
-//
-// public String[] getContentTypes() {
-// return new String[]{CONTENT_TYPE};
-// }
-//
-// public Reader extractText(InputStream stream, String type, String encoding)
-// throws IOException {
-// try {
-// Thread.sleep(sleepTime);
-// } catch (InterruptedException e) {
-// throw new IOException();
-// }
-// return new InputStreamReader(stream, encoding);
-// }
- // }
+ // public static final class Extractor implements TextExtractor {
+ //
+ // protected static volatile int sleepTime = 200;
+ //
+ // public String[] getContentTypes() {
+ // return new String[]{CONTENT_TYPE};
+ // }
+ //
+ // public Reader extractText(InputStream stream, String type, String encoding)
+ // throws IOException {
+ // try {
+ // Thread.sleep(sleepTime);
+ // } catch (InterruptedException e) {
+ // throw new IOException();
+ // }
+ // return new InputStreamReader(stream, encoding);
+ // }
+ // }
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/core/query/lucene/directory/DirectoryManagerTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/core/query/lucene/directory/DirectoryManagerTest.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/core/query/lucene/directory/DirectoryManagerTest.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -23,6 +23,7 @@
import org.exoplatform.services.jcr.impl.core.query.lucene.directory.DirectoryManager;
import org.exoplatform.services.jcr.impl.core.query.lucene.directory.FSDirectoryManager;
import org.exoplatform.services.jcr.impl.core.query.lucene.directory.RAMDirectoryManager;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.util.Arrays;
@@ -33,88 +34,104 @@
* <code>DirectoryManagerTest</code> performs tests on directory manager
* implementations.
*/
-public class DirectoryManagerTest extends TestCase {
+public class DirectoryManagerTest extends TestCase
+{
- private static final Collection IMPLEMENTATIONS = Arrays
- .asList(new Class[] { FSDirectoryManager.class,
- RAMDirectoryManager.class });
+ private static final Collection IMPLEMENTATIONS =
+ Arrays.asList(new Class[]{FSDirectoryManager.class, RAMDirectoryManager.class});
- private static final SearchIndex INDEX = new SearchIndex();
+ private static final SearchIndex INDEX = new SearchIndex();
- private static final String TEST = "test";
+ private static final String TEST = "test";
- private static final String RENAMED = "renamed";
+ private static final String RENAMED = "renamed";
- static {
- INDEX.setPath(new File(new File("target"), "directory-factory-test")
- .getAbsolutePath());
- }
+ static
+ {
+ INDEX.setPath(PrivilegedFileHelper.file(PrivilegedFileHelper.file("target"), "directory-factory-test")
+ .getAbsolutePath());
+ }
- protected void tearDown() throws Exception {
- new File(INDEX.getPath(), TEST).delete();
- new File(INDEX.getPath(), RENAMED).delete();
- }
+ @Override
+ protected void tearDown() throws Exception
+ {
+ PrivilegedFileHelper.file(INDEX.getPath(), TEST).delete();
+ PrivilegedFileHelper.file(INDEX.getPath(), RENAMED).delete();
+ }
- public void testHasDirectory() throws Exception {
- execute(new Callable() {
- public void call(DirectoryManager directoryManager)
- throws Exception {
- Directory dir = directoryManager.getDirectory(TEST);
- assertTrue(directoryManager.hasDirectory(TEST));
- dir.close();
- }
- });
- }
+ public void testHasDirectory() throws Exception
+ {
+ execute(new Callable()
+ {
+ public void call(DirectoryManager directoryManager) throws Exception
+ {
+ Directory dir = directoryManager.getDirectory(TEST);
+ assertTrue(directoryManager.hasDirectory(TEST));
+ dir.close();
+ }
+ });
+ }
- public void testDelete() throws Exception {
- execute(new Callable() {
- public void call(DirectoryManager directoryManager)
- throws Exception {
- directoryManager.getDirectory(TEST).close();
- directoryManager.delete(TEST);
- assertFalse(directoryManager.hasDirectory(TEST));
- }
- });
- }
+ public void testDelete() throws Exception
+ {
+ execute(new Callable()
+ {
+ public void call(DirectoryManager directoryManager) throws Exception
+ {
+ directoryManager.getDirectory(TEST).close();
+ directoryManager.delete(TEST);
+ assertFalse(directoryManager.hasDirectory(TEST));
+ }
+ });
+ }
- public void testGetDirectoryNames() throws Exception {
- execute(new Callable() {
- public void call(DirectoryManager directoryManager)
- throws Exception {
- directoryManager.getDirectory(TEST).close();
- assertTrue(Arrays.asList(directoryManager.getDirectoryNames())
- .contains(TEST));
- }
- });
- }
+ public void testGetDirectoryNames() throws Exception
+ {
+ execute(new Callable()
+ {
+ public void call(DirectoryManager directoryManager) throws Exception
+ {
+ directoryManager.getDirectory(TEST).close();
+ assertTrue(Arrays.asList(directoryManager.getDirectoryNames()).contains(TEST));
+ }
+ });
+ }
- public void testRename() throws Exception {
- execute(new Callable() {
- public void call(DirectoryManager directoryManager)
- throws Exception {
- directoryManager.getDirectory(TEST).close();
- directoryManager.rename(TEST, RENAMED);
- assertTrue(directoryManager.hasDirectory(RENAMED));
- assertFalse(directoryManager.hasDirectory(TEST));
- }
- });
- }
+ public void testRename() throws Exception
+ {
+ execute(new Callable()
+ {
+ public void call(DirectoryManager directoryManager) throws Exception
+ {
+ directoryManager.getDirectory(TEST).close();
+ directoryManager.rename(TEST, RENAMED);
+ assertTrue(directoryManager.hasDirectory(RENAMED));
+ assertFalse(directoryManager.hasDirectory(TEST));
+ }
+ });
+ }
- private void execute(Callable callable) throws Exception {
- for (Iterator it = IMPLEMENTATIONS.iterator(); it.hasNext();) {
- Class clazz = (Class) it.next();
- DirectoryManager dirMgr = (DirectoryManager) clazz.newInstance();
- dirMgr.init(INDEX);
- try {
- callable.call(dirMgr);
- } finally {
- dirMgr.dispose();
- }
- }
- }
+ private void execute(Callable callable) throws Exception
+ {
+ for (Iterator it = IMPLEMENTATIONS.iterator(); it.hasNext();)
+ {
+ Class clazz = (Class)it.next();
+ DirectoryManager dirMgr = (DirectoryManager)clazz.newInstance();
+ dirMgr.init(INDEX);
+ try
+ {
+ callable.call(dirMgr);
+ }
+ finally
+ {
+ dirMgr.dispose();
+ }
+ }
+ }
- private interface Callable {
+ private interface Callable
+ {
- public void call(DirectoryManager directoryManager) throws Exception;
- }
+ public void call(DirectoryManager directoryManager) throws Exception;
+ }
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportDocView.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportDocView.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportDocView.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -140,7 +140,7 @@
File file = createBLOBTempFile(2500);// 2.5M
if (log.isDebugEnabled())
log.debug("=== File has created, size " + file.length());
- contentTestPdfNode.setProperty("jcr:data", new FileInputStream(file));
+ contentTestPdfNode.setProperty("jcr:data", PrivilegedFileHelper.fileInputStream(file));
contentTestPdfNode.setProperty("jcr:mimeType", "application/octet-stream");
}
catch (IOException e)
@@ -188,7 +188,7 @@
session.exportDocumentView(testNode.getPath(), outStream, false, false);
outStream.close();
- Document doc = builder.parse(new FileInputStream(destFile));
+ Document doc = builder.parse(PrivilegedFileHelper.fileInputStream(destFile));
// assertEquals(Constants.DEFAULT_ENCODING, doc.getXmlEncoding());
@@ -273,7 +273,7 @@
outStream.close();
}
- Document doc = builder.parse(new FileInputStream(destFile));
+ Document doc = builder.parse(PrivilegedFileHelper.fileInputStream(destFile));
// assertEquals(Constants.DEFAULT_ENCODING, doc.getXmlEncoding());
@@ -340,7 +340,7 @@
session.exportDocumentView(firstNode.getPath(), outStream, false, false);
outStream.close();
- Document doc = builder.parse(new FileInputStream(destFile));
+ Document doc = builder.parse(PrivilegedFileHelper.fileInputStream(destFile));
// assertEquals(Constants.DEFAULT_ENCODING, doc.getXmlEncoding());
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportImport.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportImport.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportImport.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -73,7 +73,7 @@
testNode.remove();
session.save();
- session.importXML(root.getPath(), new FileInputStream(destFile), ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW);
+ session.importXML(root.getPath(), PrivilegedFileHelper.fileInputStream(destFile), ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW);
session.save();
@@ -126,7 +126,7 @@
folder.remove();
session.save();
- session.importXML(root.getPath(), new FileInputStream(destFile), ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW);
+ session.importXML(root.getPath(), PrivilegedFileHelper.fileInputStream(destFile), ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW);
session.save();
@@ -150,7 +150,7 @@
testNode.remove();
session.save();
- session.importXML(root.getPath(), new FileInputStream(destFile), ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW);
+ session.importXML(root.getPath(), PrivilegedFileHelper.fileInputStream(destFile), ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW);
session.save();
@@ -396,7 +396,7 @@
session.save();
}
- session.importXML(destParentNode != null ? destParentNode.getPath() : root.getPath(), new FileInputStream(
+ session.importXML(destParentNode != null ? destParentNode.getPath() : root.getPath(), PrivilegedFileHelper.fileInputStream(
destFile), ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW);
session.save();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportSysView.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportSysView.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportSysView.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -135,7 +135,7 @@
{
File file = createBLOBTempFile(2500);// 2.5M
log.info("=== File has created, size " + file.length());
- contentTestPdfNode.setProperty("jcr:data", new FileInputStream(file));
+ contentTestPdfNode.setProperty("jcr:data", PrivilegedFileHelper.fileInputStream(file));
contentTestPdfNode.setProperty("jcr:mimeType", "application/octet-stream");
}
catch (IOException e)
@@ -174,7 +174,7 @@
session.exportSystemView(testNode.getPath(), outStream, false, false);
outStream.close();
- Document doc = builder.parse(new FileInputStream(destFile));
+ Document doc = builder.parse(PrivilegedFileHelper.fileInputStream(destFile));
NodeList nodes = doc.getElementsByTagName("sv:node");
assertEquals(1, nodes.getLength());
assertEquals(3, nodes.item(0).getChildNodes().getLength());
@@ -224,7 +224,7 @@
session.exportSystemView(firstNode.getPath(), outStream, false, false);
outStream.close();
- Document doc = builder.parse(new FileInputStream(destFile));
+ Document doc = builder.parse(PrivilegedFileHelper.fileInputStream(destFile));
// assertEquals(Constants.DEFAULT_ENCODING, doc.getXmlEncoding());
@@ -265,7 +265,7 @@
outputStream2.close();
log.info("Export with handler done " + (System.currentTimeMillis() - startTime) / 1000 + " sec");
- Document doc = builder.parse(new FileInputStream(destFile));
+ Document doc = builder.parse(PrivilegedFileHelper.fileInputStream(destFile));
XPathExpression expr = xpath.compile("//sv:property");
Object result = expr.evaluate(doc, XPathConstants.NODESET);
@@ -319,7 +319,7 @@
session.exportSystemView(testNode.getPath(), outStream, false, false);
outStream.close();
- Document doc = builder.parse(new FileInputStream(destFile));
+ Document doc = builder.parse(PrivilegedFileHelper.fileInputStream(destFile));
XPathExpression expr = xpath.compile("//sv:property");
@@ -373,7 +373,7 @@
session.exportSystemView(testNode.getPath(), outStream, true, false);
outStream.close();
- Document doc = builder.parse(new FileInputStream(destFile));
+ Document doc = builder.parse(PrivilegedFileHelper.fileInputStream(destFile));
XPathExpression expr = xpath.compile("//sv:property");
Object result = expr.evaluate(doc, XPathConstants.NODESET);
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestDocumentViewImport.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestDocumentViewImport.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestDocumentViewImport.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -21,6 +21,7 @@
import org.exoplatform.services.ext.action.InvocationContext;
import org.exoplatform.services.jcr.core.ExtendedSession;
import org.exoplatform.services.jcr.impl.util.StringConverter;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.impl.xml.importing.ContentImporter;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -339,7 +340,7 @@
{
File file = createBLOBTempFile(25);// 2.5M
log.info("=== File has created, size " + file.length());
- contentTestPdfNode.setProperty("jcr:data", new FileInputStream(file));
+ contentTestPdfNode.setProperty("jcr:data", PrivilegedFileHelper.fileInputStream(file));
contentTestPdfNode.setProperty("jcr:mimeType", "application/octet-stream");
}
catch (IOException e)
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestImport.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestImport.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestImport.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -27,6 +27,7 @@
import org.exoplatform.services.jcr.core.ExtendedNode;
import org.exoplatform.services.jcr.impl.core.NodeImpl;
import org.exoplatform.services.jcr.impl.core.SessionImpl;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.util.VersionHistoryImporter;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -117,7 +118,7 @@
NodeImpl importRoot = (NodeImpl)root.addNode("ImportRoot");
deserialize(importRoot, XmlSaveType.SESSION, true, ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING,
- new BufferedInputStream(new FileInputStream(tmp)));
+ new BufferedInputStream(PrivilegedFileHelper.fileInputStream(tmp)));
session.save();
Node n1 = importRoot.getNode("TestRoot");
assertTrue("Wrong ACL", accessManager.hasPermission(((NodeImpl)n1).getACL(), PermissionType.SET_PROPERTY,
@@ -162,7 +163,7 @@
NodeImpl importRoot = (NodeImpl)root.addNode("ImportRoot");
deserialize(importRoot, XmlSaveType.SESSION, true, ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING,
- new BufferedInputStream(new FileInputStream(tmp)));
+ new BufferedInputStream(PrivilegedFileHelper.fileInputStream(tmp)));
session.save();
Node n1 = importRoot.getNode("TestRoot");
assertTrue("Wrong ACL", accessManager.hasPermission(((NodeImpl)n1).getACL(), PermissionType.SET_PROPERTY,
@@ -186,6 +187,7 @@
private Node testRoot;
+ @Override
public void execute() throws RepositoryException
{
testRoot = testRootNode.addNode("testImportVersionable");
@@ -207,6 +209,7 @@
testRoot.save();
}
+ @Override
public Node getExportRoot()
{
return testRoot;
@@ -216,6 +219,7 @@
BeforeImportAction beforeImportAction = new BeforeImportAction(null, null)
{
+ @Override
public void execute() throws RepositoryException
{
Node testRoot2 = testRootNode.getNode("testImportVersionable");
@@ -223,6 +227,7 @@
testRootNode.save();
}
+ @Override
public Node getImportRoot()
{
return testRootNode;
@@ -236,6 +241,7 @@
private Node testRoot2;
+ @Override
public void execute() throws RepositoryException
{
testRootNode.save();
@@ -316,6 +322,7 @@
private Node testRoot2;
+ @Override
public void execute() throws RepositoryException
{
testRootNode.save();
@@ -364,6 +371,7 @@
private Node testRoot;
+ @Override
public void execute() throws RepositoryException
{
testRoot = testRootNode.addNode("testImportVersionable");
@@ -385,6 +393,7 @@
testRoot.save();
}
+ @Override
public Node getExportRoot()
{
return testRoot;
@@ -394,6 +403,7 @@
BeforeImportAction beforeImportAction = new BeforeImportAction(null, null)
{
+ @Override
public Node getImportRoot() throws RepositoryException
{
Node importRoot = testRootNode.addNode("ImportRoot");
@@ -410,6 +420,7 @@
private Node testRoot2;
+ @Override
public void execute() throws RepositoryException
{
testRootNode.save();
@@ -495,7 +506,7 @@
session.save();
deserialize(testRootNode, XmlSaveType.SESSION, true, ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING,
- new BufferedInputStream(new FileInputStream(versionableNodeContent)));
+ new BufferedInputStream(PrivilegedFileHelper.fileInputStream(versionableNodeContent)));
session.save();
testRoot = testRootNode.getNode("testImportVersionable");
assertTrue(testRoot.isNodeType("mix:versionable"));
@@ -503,8 +514,8 @@
assertEquals(1, testRoot.getVersionHistory().getAllVersions().getSize());
VersionHistoryImporter historyImporter =
- new VersionHistoryImporter((NodeImpl)testRoot, new BufferedInputStream(new FileInputStream(vhNodeContent)),
- baseVersionUuid, predecessors, versionHistory);
+ new VersionHistoryImporter((NodeImpl)testRoot, new BufferedInputStream(PrivilegedFileHelper
+ .fileInputStream(vhNodeContent)), baseVersionUuid, predecessors, versionHistory);
historyImporter.doImport();
session.save();
@@ -864,15 +875,18 @@
{
protected String dumpStr = "";
+ @Override
protected void entering(Node node, int level) throws RepositoryException
{
dumpStr += node.getPath() + "\n";
}
+ @Override
protected void leaving(Property property, int level) throws RepositoryException
{
}
+ @Override
protected void leaving(Node node, int level) throws RepositoryException
{
}
@@ -885,6 +899,7 @@
/**
* {@inheritDoc}
*/
+ @Override
protected void entering(Property property, int level) throws RepositoryException
{
dumpStr += " " + property.getPath() + "=" + valToString(property) + " \n";
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestSystemViewImport.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestSystemViewImport.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestSystemViewImport.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -268,7 +268,7 @@
Node importTarget = sysview.addNode("import target");
sysview.save();
- sysview.getSession().importXML(importTarget.getPath(), new FileInputStream(xmlContent),
+ sysview.getSession().importXML(importTarget.getPath(), PrivilegedFileHelper.fileInputStream(xmlContent),
ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING);
sysview.save();
@@ -282,7 +282,7 @@
// try one more (for same-name sibling nodes test), mus replace before
// imported node
- sysview.getSession().importXML(importTarget.getPath(), new FileInputStream(xmlContent),
+ sysview.getSession().importXML(importTarget.getPath(), PrivilegedFileHelper.fileInputStream(xmlContent),
ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING);
sysview.save();
@@ -307,7 +307,7 @@
Node importTarget = sysview.addNode("import target");
sysview.save();
- sysview.getSession().importXML(importTarget.getPath(), new FileInputStream(xmlContent),
+ sysview.getSession().importXML(importTarget.getPath(), PrivilegedFileHelper.fileInputStream(xmlContent),
ImportUUIDBehavior.IMPORT_UUID_COLLISION_REPLACE_EXISTING);
sysview.save();
@@ -325,7 +325,7 @@
.hasProperty("jcr:content/New property 2, string"));
// create one more same-name sibling node
- sysview.getSession().importXML(importTarget.getPath(), new FileInputStream(xmlContent),
+ sysview.getSession().importXML(importTarget.getPath(), PrivilegedFileHelper.fileInputStream(xmlContent),
ImportUUIDBehavior.IMPORT_UUID_COLLISION_REPLACE_EXISTING);
sysview.save();
@@ -355,7 +355,7 @@
try
{
- sysview.getSession().importXML(importTarget.getPath(), new FileInputStream(xmlContent),
+ sysview.getSession().importXML(importTarget.getPath(), PrivilegedFileHelper.fileInputStream(xmlContent),
ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW);
fail("An exception ItemExistsException must be throwed. Node with same uuid already exists");
@@ -368,7 +368,7 @@
// one more time...:)
try
{
- sysview.getSession().importXML(importTarget.getPath(), new FileInputStream(xmlContent),
+ sysview.getSession().importXML(importTarget.getPath(), PrivilegedFileHelper.fileInputStream(xmlContent),
ImportUUIDBehavior.IMPORT_UUID_COLLISION_THROW);
fail("An exception ItemExistsException must be throwed. Node with same uuid already exists. TEST CYCLE2");
}
@@ -385,7 +385,7 @@
Node importTarget = sysview.addNode("import target");
sysview.save();
- sysview.getSession().importXML(importTarget.getPath(), new FileInputStream(xmlContent),
+ sysview.getSession().importXML(importTarget.getPath(), PrivilegedFileHelper.fileInputStream(xmlContent),
ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW);
sysview.save();
@@ -396,7 +396,7 @@
assertFalse("Uuids must be different. " + uuid + " != " + importedUuid, uuid.equals(importedUuid));
// create one more same-name sibling node
- sysview.getSession().importXML(importTarget.getPath(), new FileInputStream(xmlContent),
+ sysview.getSession().importXML(importTarget.getPath(), PrivilegedFileHelper.fileInputStream(xmlContent),
ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW);
sysview.save();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/nodetypes/TestValueConstraints.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/nodetypes/TestValueConstraints.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/nodetypes/TestValueConstraints.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -21,6 +21,7 @@
import org.exoplatform.services.jcr.JcrAPIBaseTest;
import org.exoplatform.services.jcr.core.nodetype.NodeTypeDataManager;
import org.exoplatform.services.jcr.impl.core.nodetype.NodeTypeManagerImpl;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -54,6 +55,7 @@
private static String LOCAL_NORMAL_FILE = null;
+ @Override
public void setUp() throws Exception
{
super.setUp();
@@ -166,8 +168,9 @@
{
Property testProperty =
- testValueConstraintsNode.setProperty("jcr:testBINARYINCLUSIVE", new FileInputStream(LOCAL_SMALL_FILE));
- testProperty.setValue(new FileInputStream(LOCAL_BIG_FILE));
+ testValueConstraintsNode.setProperty("jcr:testBINARYINCLUSIVE", PrivilegedFileHelper
+ .fileInputStream(LOCAL_SMALL_FILE));
+ testProperty.setValue(PrivilegedFileHelper.fileInputStream(LOCAL_BIG_FILE));
session.save();
}
@@ -177,8 +180,9 @@
try
{
Property testProperty =
- testValueConstraintsNode.setProperty("jcr:testBINARYEXCLUSIVE", new FileInputStream(LOCAL_SMALL_FILE));
- testProperty.setValue(new FileInputStream(LOCAL_BIG_FILE));
+ testValueConstraintsNode.setProperty("jcr:testBINARYEXCLUSIVE", PrivilegedFileHelper
+ .fileInputStream(LOCAL_SMALL_FILE));
+ testProperty.setValue(PrivilegedFileHelper.fileInputStream(LOCAL_BIG_FILE));
session.save();
fail("setValue(BINARY value) must throw a ConstraintViolationException ");
}
@@ -190,7 +194,8 @@
try
{
Property testProperty =
- testValueConstraintsNode.setProperty("jcr:testBINARYEXCLUSIVE", new FileInputStream(LOCAL_NORMAL_FILE));
+ testValueConstraintsNode.setProperty("jcr:testBINARYEXCLUSIVE", PrivilegedFileHelper
+ .fileInputStream(LOCAL_NORMAL_FILE));
session.save();
fail("setValue(BINARY value) must throw a ConstraintViolationException ");
}
@@ -354,6 +359,7 @@
}
}
+ @Override
protected void tearDown() throws Exception
{
if (session.getRootNode().hasNode("testValueConstraints"))
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/writing/TestSetProperty.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/writing/TestSetProperty.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/writing/TestSetProperty.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -27,6 +27,7 @@
import org.exoplatform.services.jcr.impl.core.SessionImpl;
import org.exoplatform.services.jcr.impl.core.value.NameValue;
import org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.ByteArrayInputStream;
import java.io.File;
@@ -58,6 +59,7 @@
private TransactionChangesLog cLog;
+ @Override
public void setUp() throws Exception
{
super.setUp();
@@ -68,6 +70,7 @@
dm.addItemPersistenceListener(this);
}
+ @Override
public void initRepository() throws RepositoryException
{
Node root = session.getRootNode();
@@ -101,6 +104,7 @@
session.save();
}
+ @Override
public void tearDown() throws Exception
{
@@ -198,7 +202,7 @@
session.refresh(false);
- node.setProperty("jcr:defaultValues", new Value[]{valueFactory.createValue((long)10)});
+ node.setProperty("jcr:defaultValues", new Value[]{valueFactory.createValue(10)});
assertEquals(PropertyType.LONG, node.getProperty("jcr:defaultValues").getValues()[0].getType());
assertEquals(10, node.getProperty("jcr:defaultValues").getValues()[0].getLong());
node.save();
@@ -367,13 +371,13 @@
Node node = root.addNode("testNode");
File tmpFile1 = createBLOBTempFile(250);
- node.setProperty("testProp", new FileInputStream(tmpFile1));
+ node.setProperty("testProp", PrivilegedFileHelper.fileInputStream(tmpFile1));
File tmpFile2 = createBLOBTempFile(500);
- node.setProperty("testProp", new FileInputStream(tmpFile2));
+ node.setProperty("testProp", PrivilegedFileHelper.fileInputStream(tmpFile2));
File tmpFile3 = createBLOBTempFile(1000);
- node.setProperty("testProp", new FileInputStream(tmpFile3));
+ node.setProperty("testProp", PrivilegedFileHelper.fileInputStream(tmpFile3));
session.save();
@@ -387,7 +391,7 @@
ItemState item = cLog.getAllStates().get(i);
// TODO doesn't pass with FileTree VS, ok with CAS if contents different
//compareStream(((PropertyData) item.getData()).getValues().get(0).getAsStream(),
- // new FileInputStream(tempFiles[i - 2]));
+ // PrivilegedFileHelper.fileInputStream(tempFiles[i - 2]));
}
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/writing/TestUpdate.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/writing/TestUpdate.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/writing/TestUpdate.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -19,6 +19,7 @@
package org.exoplatform.services.jcr.api.writing;
import org.exoplatform.services.jcr.JcrAPIBaseTest;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.io.FileInputStream;
@@ -62,7 +63,7 @@
File propData = createBLOBTempFile(1024);
- InputStream pds = new FileInputStream(propData);
+ InputStream pds = PrivilegedFileHelper.fileInputStream(propData);
try
{
corrNode.setProperty("prop1", pds);
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestMoveNode.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestMoveNode.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestMoveNode.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -21,6 +21,7 @@
import org.exoplatform.services.jcr.JcrImplBaseTest;
import org.exoplatform.services.jcr.datamodel.InternalQName;
import org.exoplatform.services.jcr.datamodel.QPath;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.FileInputStream;
import java.io.InputStream;
@@ -224,7 +225,7 @@
Node localBigFile = testLocalBigFiles.addNode("bigFile" + i, "nt:file");
Node contentNode = localBigFile.addNode("jcr:content", "nt:resource");
// contentNode.setProperty("jcr:encoding", "UTF-8");
- is[i] = new FileInputStream(TEST_FILE);
+ is[i] = PrivilegedFileHelper.fileInputStream(TEST_FILE);
contentNode.setProperty("jcr:data", is[i]);
contentNode.setProperty("jcr:mimeType", "application/octet-stream ");
if (log.isDebugEnabled())
@@ -269,7 +270,8 @@
{
Node localBigFile = dstNode.getNode("bigFile" + i);
Node contentNode = localBigFile.getNode("jcr:content");
- compareStream(new FileInputStream(filesList.get(i)), contentNode.getProperty("jcr:data").getStream());
+ compareStream(PrivilegedFileHelper.fileInputStream(filesList.get(i)), contentNode.getProperty("jcr:data")
+ .getStream());
}
}
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestRestoreWorkspaceInitializer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestRestoreWorkspaceInitializer.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestRestoreWorkspaceInitializer.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -66,14 +66,14 @@
Node blob = root.addNode("binaryTest");
File f;
InputStream is;
- blob.setProperty("blob", is = new FileInputStream(f = createBLOBTempFile(2 * 1024))); // 2M
+ blob.setProperty("blob", is = PrivilegedFileHelper.fileInputStream(f = createBLOBTempFile(2 * 1024))); // 2M
root.save();
is.close();
- f.renameTo(new File("./sv_export_binary.bin"));
+ f.renameTo(PrivilegedFileHelper.file("./sv_export_binary.bin"));
- File outf = new File("./sv_export_root.xml");
+ File outf = PrivilegedFileHelper.file("./sv_export_root.xml");
FileOutputStream out = PrivilegedFileHelper.fileOutputStream(outf);
session.exportWorkspaceSystemView(out, false, false);
out.close();
@@ -120,7 +120,7 @@
p = multiv.getProperty("exojcrtest:multiValuedName");
p.getValues();
- compareStream(new FileInputStream("./sv_export_binary.bin"), root.getNode("binaryTest").getProperty("blob")
+ compareStream(PrivilegedFileHelper.fileInputStream("./sv_export_binary.bin"), root.getNode("binaryTest").getProperty("blob")
.getStream());
}
catch (ValueFormatException e)
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestWorkspaceRestore.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestWorkspaceRestore.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestWorkspaceRestore.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -86,7 +86,7 @@
defRep = (RepositoryImpl)service.getDefaultRepository();
defRep.configWorkspace(workspaceEntry);
- defRep.importWorkspace(workspaceEntry.getName(), new BufferedInputStream(new FileInputStream(content)));
+ defRep.importWorkspace(workspaceEntry.getName(), new BufferedInputStream(PrivilegedFileHelper.fileInputStream(content)));
doTestOnWorkspace(workspaceEntry.getName());
}
@@ -156,7 +156,7 @@
try
{
- defRep.importWorkspace(workspaceEntry.getName(), new BufferedInputStream(new FileInputStream(content)));
+ defRep.importWorkspace(workspaceEntry.getName(), new BufferedInputStream(PrivilegedFileHelper.fileInputStream(content)));
fail();
}
catch (RepositoryException e)
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/TestArabicSearch.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/TestArabicSearch.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/TestArabicSearch.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -25,6 +25,7 @@
import org.apache.lucene.search.TermQuery;
import org.exoplatform.services.jcr.impl.core.NodeImpl;
import org.exoplatform.services.jcr.impl.core.query.lucene.FieldNames;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.io.FileInputStream;
@@ -48,10 +49,10 @@
public void testSearchWithEncodingParameter() throws Exception
{
- File file = new File("src/test/resources/ArabicUTF8.txt");
+ File file = PrivilegedFileHelper.file("src/test/resources/ArabicUTF8.txt");
assertTrue("/test/resources/ArabicUTF8.txt not found", file.exists());
- FileInputStream fis = new FileInputStream(file);
+ FileInputStream fis = PrivilegedFileHelper.fileInputStream(file);
NodeImpl node = (NodeImpl)root.addNode(fileName, "nt:file");
NodeImpl cont = (NodeImpl)node.addNode("jcr:content", "nt:resource");
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/TestDateSearch.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/TestDateSearch.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/TestDateSearch.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -25,6 +25,7 @@
import org.apache.lucene.search.TermQuery;
import org.exoplatform.services.jcr.impl.core.NodeImpl;
import org.exoplatform.services.jcr.impl.core.query.lucene.FieldNames;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.io.FileInputStream;
@@ -47,10 +48,10 @@
public void testSearchDate() throws Exception
{
- File file = new File("src/test/resources/test.xls");
+ File file = PrivilegedFileHelper.file("src/test/resources/test.xls");
assertTrue("/test/resources/test.xls not found", file.exists());
- FileInputStream fis = new FileInputStream(file);
+ FileInputStream fis = PrivilegedFileHelper.fileInputStream(file);
NodeImpl node = (NodeImpl)root.addNode(fileName, "nt:file");
NodeImpl cont = (NodeImpl)node.addNode("jcr:content", "nt:resource");
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/TestErrorMultithreading.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/TestErrorMultithreading.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/TestErrorMultithreading.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -20,6 +20,7 @@
import org.exoplatform.services.jcr.core.CredentialsImpl;
import org.exoplatform.services.jcr.impl.core.NodeImpl;
import org.exoplatform.services.jcr.impl.core.SessionImpl;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.util.IdGenerator;
import java.io.File;
@@ -53,6 +54,7 @@
public static final String THREAD_NAME = "name";
+ @Override
public void tearDown()
{
@@ -74,7 +76,7 @@
public Session sess;
- File file = new File("src/test/resources/LARGE.txt");
+ File file = PrivilegedFileHelper.file("src/test/resources/LARGE.txt");
public FileInputStream fis = null;
@@ -84,6 +86,7 @@
this.sess = s;
}
+ @Override
public void run()
{
System.out.println(name + " - START");
@@ -99,7 +102,7 @@
NodeImpl cont = (NodeImpl)node.addNode("jcr:content", "nt:resource");
cont.setProperty("jcr:mimeType", "text/plain");
cont.setProperty("jcr:lastModified", Calendar.getInstance());
- fis = new FileInputStream(file);
+ fis = PrivilegedFileHelper.fileInputStream(file);
cont.setProperty("jcr:data", fis);
root.save();
System.out.println(fileName + " saved");
@@ -121,7 +124,7 @@
{
Credentials credentials = new CredentialsImpl("admin", "admin".toCharArray());
- Session ss = (SessionImpl)repository.login(credentials, "ws");
+ Session ss = repository.login(credentials, "ws");
Writer wr = new Writer(THREAD_NAME + t, ss);
writers.add(wr);
}
@@ -159,6 +162,7 @@
super.setName(this.name); // super.getName() + ", " +
}
+ @Override
public void run()
{
System.out.println(name + " - START");
@@ -196,7 +200,7 @@
{
Credentials credentials = new CredentialsImpl("admin", "admin".toCharArray());
- Session ss = (SessionImpl)repository.login(credentials, "ws");
+ Session ss = repository.login(credentials, "ws");
Writer wr = new Writer(THREAD_NAME + t, ss);
writers.add(wr);
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/TestExcelFileSearch.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/TestExcelFileSearch.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/TestExcelFileSearch.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -28,6 +28,7 @@
import org.exoplatform.services.document.impl.MSExcelDocumentReader;
import org.exoplatform.services.jcr.impl.core.NodeImpl;
import org.exoplatform.services.jcr.impl.core.query.lucene.FieldNames;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.io.FileInputStream;
@@ -44,10 +45,10 @@
public void testFindFileContent() throws Exception
{
- File file = new File("src/test/resources/test.xls");
+ File file = PrivilegedFileHelper.file("src/test/resources/test.xls");
assertTrue("/test/resources/book.xls not found", file.exists());
- FileInputStream fis = new FileInputStream(file);
+ FileInputStream fis = PrivilegedFileHelper.fileInputStream(file);
NodeImpl node = (NodeImpl)root.addNode("excelFile", "nt:file");
NodeImpl cont = (NodeImpl)node.addNode("jcr:content", "nt:resource");
@@ -59,7 +60,7 @@
root.save();
fis.close();
- fis = new FileInputStream(file);
+ fis = PrivilegedFileHelper.fileInputStream(file);
DocumentReaderService extr =
(DocumentReaderService)session.getContainer().getComponentInstanceOfType(DocumentReaderService.class);
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestByteArrayPersistedValueDataSerialization.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestByteArrayPersistedValueDataSerialization.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestByteArrayPersistedValueDataSerialization.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -59,7 +59,7 @@
oos.close();
//deserialize
- ObjectInputStream ois = new ObjectInputStream(new FileInputStream(out));
+ ObjectInputStream ois = new ObjectInputStream(PrivilegedFileHelper.fileInputStream(out));
ByteArrayPersistedValueData deserializedValueData = (ByteArrayPersistedValueData)ois.readObject();
//check
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestCleanableFileStreamValueData.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestCleanableFileStreamValueData.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestCleanableFileStreamValueData.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -46,9 +46,9 @@
private static final String FILE_NAME = "testFileCleaned";
- private File parentDir = new File("./target");
+ private File parentDir = PrivilegedFileHelper.file("./target");
- private File testFile = new File(parentDir, FILE_NAME);
+ private File testFile = PrivilegedFileHelper.file(parentDir, FILE_NAME);
private FileCleaner testCleaner;
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationLogTestLoad.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationLogTestLoad.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationLogTestLoad.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -44,7 +44,7 @@
TesterItemsPersistenceListener pl = new TesterItemsPersistenceListener(this.session);
File file = this.createBLOBTempFile(310);
- FileInputStream fis = new FileInputStream(file);
+ FileInputStream fis = PrivilegedFileHelper.fileInputStream(file);
NodeImpl node = (NodeImpl)root.addNode("file", "nt:file");
NodeImpl cont = (NodeImpl)node.addNode("jcr:content", "nt:resource");
@@ -82,7 +82,7 @@
System.out.println(" READ START");
// deserialize
- ObjectReaderImpl jcrin = new ObjectReaderImpl(new FileInputStream(jcrfile));
+ ObjectReaderImpl jcrin = new ObjectReaderImpl(PrivilegedFileHelper.fileInputStream(jcrfile));
// List<TransactionChangesLog> readed = new ArrayList<TransactionChangesLog>();
long t3 = System.currentTimeMillis();
@@ -123,7 +123,7 @@
// deserialize
System.out.println(" READ START");
- ObjectInputStream jin = new ObjectInputStream(new FileInputStream(jfile));
+ ObjectInputStream jin = new ObjectInputStream(PrivilegedFileHelper.fileInputStream(jfile));
long t4 = System.currentTimeMillis();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationVSJavaSerializationTestLoad.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationVSJavaSerializationTestLoad.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationVSJavaSerializationTestLoad.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -90,7 +90,7 @@
jcrout.close();
// deserialize
- ObjectReaderImpl jcrin = new ObjectReaderImpl(new FileInputStream(jcrfile));
+ ObjectReaderImpl jcrin = new ObjectReaderImpl(PrivilegedFileHelper.fileInputStream(jcrfile));
long t3 = System.currentTimeMillis();
@@ -126,7 +126,7 @@
jout.close();
// deserialize
- ObjectInputStream jin = new ObjectInputStream(new FileInputStream(jfile));
+ ObjectInputStream jin = new ObjectInputStream(PrivilegedFileHelper.fileInputStream(jfile));
it = list.iterator();
long t4 = System.currentTimeMillis();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JcrImplSerializationBaseTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JcrImplSerializationBaseTest.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JcrImplSerializationBaseTest.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -121,7 +121,7 @@
protected List<TransactionChangesLog> deSerializeLogs(File jcrfile) throws IOException, UnknownClassIdException
{
- ObjectReaderImpl jcrin = new ObjectReaderImpl(new FileInputStream(jcrfile));
+ ObjectReaderImpl jcrin = new ObjectReaderImpl(PrivilegedFileHelper.fileInputStream(jcrfile));
List<TransactionChangesLog> readed = new ArrayList<TransactionChangesLog>();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/MultipleDeserializationTestLoad.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/MultipleDeserializationTestLoad.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/MultipleDeserializationTestLoad.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -134,7 +134,7 @@
jcrout.close();
- ObjectReaderImpl jcrin = new ObjectReaderImpl(new FileInputStream(jcrfile));
+ ObjectReaderImpl jcrin = new ObjectReaderImpl(PrivilegedFileHelper.fileInputStream(jcrfile));
long jcrfread = System.currentTimeMillis();
TransactionChangesLog mlog =
(new TransactionChangesLogReader(fileCleaner, maxBufferSize, holder)).read(jcrin);
@@ -150,7 +150,7 @@
for (int j = 0; j < iterations; j++)
{
// deserialize
- jcrin = new ObjectReaderImpl(new FileInputStream(jcrfile));
+ jcrin = new ObjectReaderImpl(PrivilegedFileHelper.fileInputStream(jcrfile));
long t3 = System.currentTimeMillis();
TransactionChangesLog log = rdr.read(jcrin);
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestEOFException.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestEOFException.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestEOFException.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -48,7 +48,7 @@
ow.write(buffer);
ow.close();
- ObjectReader or = new ObjectReaderImpl(new FileInputStream(test));
+ ObjectReader or = new ObjectReaderImpl(PrivilegedFileHelper.fileInputStream(test));
byte[] buf = new byte[buffer.length];
try
@@ -78,7 +78,7 @@
ow.writeBoolean(true);
ow.close();
- ObjectReader or = new ObjectReaderImpl(new FileInputStream(test));
+ ObjectReader or = new ObjectReaderImpl(PrivilegedFileHelper.fileInputStream(test));
boolean b = or.readBoolean();
try
@@ -107,7 +107,7 @@
ow.writeInt(24);
ow.close();
- ObjectReader or = new ObjectReaderImpl(new FileInputStream(test));
+ ObjectReader or = new ObjectReaderImpl(PrivilegedFileHelper.fileInputStream(test));
int b = or.readInt();
assertEquals(24, b);
@@ -137,7 +137,7 @@
ow.writeLong(24);
ow.close();
- ObjectReader or = new ObjectReaderImpl(new FileInputStream(test));
+ ObjectReader or = new ObjectReaderImpl(PrivilegedFileHelper.fileInputStream(test));
long b = or.readLong();
assertEquals(24, b);
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationCopyMove.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationCopyMove.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationCopyMove.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -19,6 +19,7 @@
package org.exoplatform.services.jcr.impl.dataflow.serialization;
import org.exoplatform.services.jcr.dataflow.TransactionChangesLog;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.io.FileInputStream;
@@ -126,7 +127,7 @@
Node file = root.addNode("testMove_", "nt:folder").addNode("childNode2", "nt:file");
Node contentNode = file.addNode("jcr:content", "nt:resource");
- contentNode.setProperty("jcr:data", new FileInputStream(tempFile));
+ contentNode.setProperty("jcr:data", PrivilegedFileHelper.fileInputStream(tempFile));
contentNode.setProperty("jcr:mimeType", "text/plain");
contentNode.setProperty("jcr:lastModified", session.getValueFactory().createValue(Calendar.getInstance()));
session.save();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationStream.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationStream.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationStream.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -19,6 +19,7 @@
package org.exoplatform.services.jcr.impl.dataflow.serialization;
import org.exoplatform.services.jcr.dataflow.TransactionChangesLog;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.io.FileInputStream;
@@ -50,7 +51,7 @@
Node cool = test.addNode("nnn", "nt:file");
Node contentNode = cool.addNode("jcr:content", "nt:resource");
contentNode.setProperty("jcr:encoding", "UTF-8");
- contentNode.setProperty("jcr:data", new FileInputStream(tempFile));
+ contentNode.setProperty("jcr:data", PrivilegedFileHelper.fileInputStream(tempFile));
contentNode.setProperty("jcr:mimeType", "application/octet-stream");
contentNode.setProperty("jcr:lastModified", session.getValueFactory().createValue(Calendar.getInstance()));
session.save();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationVersionRestore.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationVersionRestore.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationVersionRestore.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -123,7 +123,7 @@
Node srcVersionNode = root.addNode("nt_file_node", "nt:file");
Node contentNode = srcVersionNode.addNode("jcr:content", "nt:resource");
- contentNode.setProperty("jcr:data", new FileInputStream(tempFile));
+ contentNode.setProperty("jcr:data", PrivilegedFileHelper.fileInputStream(tempFile));
contentNode.setProperty("jcr:mimeType", "text/plain");
contentNode.setProperty("jcr:lastModified", session.getValueFactory().createValue(Calendar.getInstance()));
srcVersionNode.addMixin("mix:versionable");
@@ -135,14 +135,14 @@
session.save();
srcVersion.checkout();
- srcVersionNode.getNode("jcr:content").setProperty("jcr:data", new FileInputStream(tempFile2));
+ srcVersionNode.getNode("jcr:content").setProperty("jcr:data", PrivilegedFileHelper.fileInputStream(tempFile2));
session.save();
srcVersion.checkin();
session.save();
srcVersion.checkout();
- srcVersionNode.getNode("jcr:content").setProperty("jcr:data", new FileInputStream(tempFile3));
+ srcVersionNode.getNode("jcr:content").setProperty("jcr:data", PrivilegedFileHelper.fileInputStream(tempFile3));
session.save();
Version baseVersion = srcVersion.getBaseVersion();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestPropsDeserialization.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestPropsDeserialization.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestPropsDeserialization.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -19,6 +19,7 @@
package org.exoplatform.services.jcr.impl.dataflow.serialization;
import org.exoplatform.services.jcr.dataflow.TransactionChangesLog;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.io.FileInputStream;
@@ -47,7 +48,7 @@
Node srcVersionNode = root.addNode("nt_file_node", "nt:file");
Node contentNode = srcVersionNode.addNode("jcr:content", "nt:resource");
- contentNode.setProperty("jcr:data", new FileInputStream(content1));
+ contentNode.setProperty("jcr:data", PrivilegedFileHelper.fileInputStream(content1));
contentNode.setProperty("jcr:mimeType", "text/plain");
contentNode.setProperty("jcr:lastModified", session.getValueFactory().createValue(Calendar.getInstance()));
srcVersionNode.addMixin("mix:versionable");
@@ -65,12 +66,12 @@
for (int i = 0; i < logs.size(); i++)
checkIterator(logs.get(i).getAllStates().iterator(), destLog.get(i).getAllStates().iterator());
-
+
// set value
pl = new TesterItemsPersistenceListener(this.session);
- contentNode.setProperty("jcr:data", new FileInputStream(content2));
+ contentNode.setProperty("jcr:data", PrivilegedFileHelper.fileInputStream(content2));
session.save();
-
+
// check 2
logs = pl.pushChanges();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/ValueStoragePluginTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/ValueStoragePluginTest.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/ValueStoragePluginTest.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -173,7 +173,7 @@
Node localBigFile = testLocalBigFiles.addNode("bigFile" + j, "nt:file");
Node contentNode = localBigFile.addNode("jcr:content", "nt:resource");
// contentNode.setProperty("jcr:encoding", "UTF-8");
- InputStream is = new FileInputStream(TEST_FILE);
+ InputStream is = PrivilegedFileHelper.fileInputStream(TEST_FILE);
contentNode.setProperty("jcr:data", is);
contentNode.setProperty("jcr:mimeType", "application/octet-stream ");
is.close();
@@ -195,7 +195,7 @@
Node content = lbf.getNode("jcr:content");
// comparing with source file
- compareStream(new BufferedInputStream(new FileInputStream(blobFiles.get(j))), content.getProperty(
+ compareStream(new BufferedInputStream(PrivilegedFileHelper.fileInputStream(blobFiles.get(j))), content.getProperty(
"jcr:data").getStream());
}
n1.remove();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/fs/TestRandomValueIO.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/fs/TestRandomValueIO.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/fs/TestRandomValueIO.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -22,6 +22,7 @@
import org.exoplatform.services.jcr.JcrImplBaseTest;
import org.exoplatform.services.jcr.core.value.EditableBinaryValue;
import org.exoplatform.services.jcr.core.value.ReadableBinaryValue;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.BufferedInputStream;
import java.io.ByteArrayInputStream;
@@ -81,7 +82,7 @@
// create property
String pname = "file@" + testFile.getName();
- Property p = testRoot.setProperty(pname, new FileInputStream(testFile));
+ Property p = testRoot.setProperty(pname, PrivilegedFileHelper.fileInputStream(testFile));
EditableBinaryValue exv = (EditableBinaryValue)p.getValue();
@@ -97,7 +98,7 @@
{
// the value obtained by getXXX must be same as on setProperty()
- compareStream(new FileInputStream(testFile), testRoot.getProperty(pname).getStream());
+ compareStream(PrivilegedFileHelper.fileInputStream(testFile), testRoot.getProperty(pname).getStream());
// apply edited ExtendetValue to the Property
p.setValue(exv);
@@ -124,7 +125,7 @@
// create property
String pname = "file@" + testFile.getName();
- Property p = testRoot.setProperty(pname, new FileInputStream(testFile));
+ Property p = testRoot.setProperty(pname, PrivilegedFileHelper.fileInputStream(testFile));
testRoot.save();
@@ -142,7 +143,7 @@
{
// the value obtained by getXXX must be same as on setProperty()
- compareStream(new FileInputStream(testFile), testRoot.getProperty(pname).getStream());
+ compareStream(PrivilegedFileHelper.fileInputStream(testFile), testRoot.getProperty(pname).getStream());
// apply edited ExtendetValue to the Property
p.setValue(exv);
@@ -169,7 +170,7 @@
// create property
String pname = "file@" + testFile.getName();
- testRoot.setProperty(pname, new FileInputStream(testFile));
+ testRoot.setProperty(pname, PrivilegedFileHelper.fileInputStream(testFile));
testRoot.save();
@@ -188,7 +189,7 @@
{
// the value obtained by getXXX must be same as on setProperty()
- compareStream(new FileInputStream(testFile), testRoot.getProperty(pname).getStream());
+ compareStream(PrivilegedFileHelper.fileInputStream(testFile), testRoot.getProperty(pname).getStream());
// apply edited ExtendetValue to the Property
testRoot.setProperty(pname, exv);
@@ -216,7 +217,7 @@
// create property
String pname = "file@" + testFile.getName();
- Property p = testRoot.setProperty(pname, new FileInputStream(testFile));
+ Property p = testRoot.setProperty(pname, PrivilegedFileHelper.fileInputStream(testFile));
EditableBinaryValue exv = (EditableBinaryValue)p.getValue();
@@ -269,7 +270,7 @@
// create property
String pname = "file@" + testFile.getName();
- Property p = testRoot.setProperty(pname, new FileInputStream(testFile));
+ Property p = testRoot.setProperty(pname, PrivilegedFileHelper.fileInputStream(testFile));
EditableBinaryValue exv = (EditableBinaryValue)p.getValue();
@@ -349,7 +350,7 @@
// create property
String pname = "file@" + testFile.getName();
- Property p = testRoot.setProperty(pname, new FileInputStream(testFile));
+ Property p = testRoot.setProperty(pname, PrivilegedFileHelper.fileInputStream(testFile));
EditableBinaryValue exv = (EditableBinaryValue)p.getValue();
@@ -402,7 +403,7 @@
// create property
String pname = "file@" + testFile.getName();
- Property p = testRoot.setProperty(pname, new FileInputStream(testFile));
+ Property p = testRoot.setProperty(pname, PrivilegedFileHelper.fileInputStream(testFile));
EditableBinaryValue exv = (EditableBinaryValue)p.getValue();
String update1String = "update#1";
@@ -423,7 +424,8 @@
// test after save
// first 2M of stream data must be same as on setProperty()
- compareStream(new FileInputStream(testFile), testRoot.getProperty(pname).getStream(), 0, 0, testFile.length());
+ compareStream(PrivilegedFileHelper.fileInputStream(testFile), testRoot.getProperty(pname).getStream(), 0, 0,
+ testFile.length());
compareStream(new ByteArrayInputStream(update1String.getBytes()), testRoot.getProperty(pname).getStream(), 0,
pos, update1String.length());
@@ -450,7 +452,7 @@
long fmem = Runtime.getRuntime().freeMemory();
- exv.update(new FileInputStream(testFile), testFile.length(), pos);
+ exv.update(PrivilegedFileHelper.fileInputStream(testFile), testFile.length(), pos);
long fmemAfter = Runtime.getRuntime().freeMemory();
@@ -470,7 +472,7 @@
// update inside the big data
int npos = 5;
- newexv.update(new FileInputStream(testFile), testFile.length(), npos);
+ newexv.update(PrivilegedFileHelper.fileInputStream(testFile), testFile.length(), npos);
// apply to the Property and save
p.setValue(newexv);
@@ -481,7 +483,8 @@
assertEquals("Value content is wrong ", content.substring(0, npos), new String(buff));
- compareStream(new FileInputStream(testFile), testRoot.getProperty(pname).getStream(), 0, npos, testFile.length());
+ compareStream(PrivilegedFileHelper.fileInputStream(testFile), testRoot.getProperty(pname).getStream(), 0, npos,
+ testFile.length());
}
public void testAddLength_BigValue() throws Exception
@@ -489,7 +492,7 @@
// create property
String pname = "file@" + testFile.getName();
- Property p = testRoot.setProperty(pname, new FileInputStream(testFile));
+ Property p = testRoot.setProperty(pname, PrivilegedFileHelper.fileInputStream(testFile));
EditableBinaryValue exv = (EditableBinaryValue)p.getValue();
long pos = 3 * 1024 * 1024;
@@ -511,7 +514,7 @@
// create property
String pname = "file@" + testFile.getName();
- Property p = testRoot.setProperty(pname, new FileInputStream(testFile));
+ Property p = testRoot.setProperty(pname, PrivilegedFileHelper.fileInputStream(testFile));
EditableBinaryValue exv = (EditableBinaryValue)p.getValue();
long pos = 1024 * 1024;
@@ -622,7 +625,7 @@
// create property
String pname = "file@" + testFile.getName();
- Property p = testRoot.setProperty(pname, new FileInputStream(testFile));
+ Property p = testRoot.setProperty(pname, PrivilegedFileHelper.fileInputStream(testFile));
EditableBinaryValue exv = (EditableBinaryValue)p.getValue();
long pos = exv.getLength() - (testFile.length() - 20);
@@ -710,7 +713,7 @@
// create property, prepare the data to be readed
String pname = "file@" + testFile.getName();
- Property p = testRoot.setProperty(pname, new FileInputStream(testFile));
+ Property p = testRoot.setProperty(pname, PrivilegedFileHelper.fileInputStream(testFile));
testRoot.save();
// read partial
@@ -724,7 +727,8 @@
assertEquals("Wrong bytes count have been read", len, res);
- compareStream(new FileInputStream(testFile), new ByteArrayInputStream(baos.toByteArray()), pos, 0, len);
+ compareStream(PrivilegedFileHelper.fileInputStream(testFile), new ByteArrayInputStream(baos.toByteArray()), pos,
+ 0, len);
}
public void testReadBigValue() throws Exception
@@ -732,7 +736,7 @@
// create property, prepare the data to be readed
String pname = "file@" + testFile.getName();
- Property p = testRoot.setProperty(pname, new FileInputStream(testFile));
+ Property p = testRoot.setProperty(pname, PrivilegedFileHelper.fileInputStream(testFile));
EditableBinaryValue exv = (EditableBinaryValue)p.getValue();
@@ -774,7 +778,7 @@
// create property, prepare the data to be readed
String pname = "file@" + testFile.getName();
- Property p = testRoot.setProperty(pname, new FileInputStream(testFile));
+ Property p = testRoot.setProperty(pname, PrivilegedFileHelper.fileInputStream(testFile));
EditableBinaryValue exv = (EditableBinaryValue)p.getValue();
@@ -912,7 +916,7 @@
// create property, prepare the data to be readed
String pname = "file@" + testFile.getName();
- Property p = testRoot.setProperty(pname, new FileInputStream(testFile));
+ Property p = testRoot.setProperty(pname, PrivilegedFileHelper.fileInputStream(testFile));
EditableBinaryValue exv = (EditableBinaryValue)p.getValue();
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-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/CASableFileIOChannelTestBase.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -25,6 +25,7 @@
import org.exoplatform.services.jcr.impl.storage.value.cas.RecordNotFoundException;
import org.exoplatform.services.jcr.impl.storage.value.cas.ValueContentAddressStorage;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.util.IdGenerator;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -69,10 +70,10 @@
if (rootDir == null)
{
- rootDir = new File("target/temp/values-test");
+ rootDir = PrivilegedFileHelper.file("target/temp/values-test");
rootDir.mkdirs();
- new File(rootDir, FileValueStorage.TEMP_DIR_NAME).mkdirs();
+ PrivilegedFileHelper.file(rootDir, FileValueStorage.TEMP_DIR_NAME).mkdirs();
if (!rootDir.exists())
throw new Exception("Folder does not exist " + rootDir.getAbsolutePath());
@@ -110,18 +111,19 @@
FileIOChannel fch = openCASChannel(digestType);
String propertyId = IdGenerator.generate();
- ValueData value = new StreamPersistedValueData(0, new FileInputStream(testFile));
+ ValueData value = new StreamPersistedValueData(0, PrivilegedFileHelper.fileInputStream(testFile));
fch.write(propertyId, value);
fch.commit();
File vsfile =
- new File(rootDir, fch.makeFilePath(vcas.getIdentifier(propertyId, 0), CASableIOSupport.HASHFILE_ORDERNUMBER)); // orderNum
+ PrivilegedFileHelper.file(rootDir, fch.makeFilePath(vcas.getIdentifier(propertyId, 0),
+ CASableIOSupport.HASHFILE_ORDERNUMBER)); // orderNum
// =0
assertTrue("File should exists " + vsfile.getAbsolutePath(), vsfile.exists());
InputStream etalon, tested;
- compareStream(etalon = new FileInputStream(testFile), tested = new FileInputStream(vsfile));
+ compareStream(etalon = PrivilegedFileHelper.fileInputStream(testFile), tested = PrivilegedFileHelper.fileInputStream(vsfile));
etalon.close();
tested.close();
}
@@ -141,7 +143,7 @@
// prepare
String propertyId = IdGenerator.generate();
- ValueData value = new StreamPersistedValueData(0, new FileInputStream(testFile));
+ ValueData value = new StreamPersistedValueData(0, PrivilegedFileHelper.fileInputStream(testFile));
fch.write(propertyId, value);
fch.commit();
@@ -150,7 +152,7 @@
try
{
fch = openCASChannel(digestType);
- fch.write(new String(propertyId), new StreamPersistedValueData(0, new FileInputStream(testFile)));
+ fch.write(new String(propertyId), new StreamPersistedValueData(0, PrivilegedFileHelper.fileInputStream(testFile)));
fch.commit();
fail("RecordAlreadyExistsException should be thrown, record exists");
@@ -180,10 +182,10 @@
String propertyId = IdGenerator.generate();
try
{
- ValueData value = new StreamPersistedValueData(0, new FileInputStream(testFile));
+ ValueData value = new StreamPersistedValueData(0, PrivilegedFileHelper.fileInputStream(testFile));
fch.write(propertyId, value);
fch.delete(propertyId);
- fch.write(propertyId, new StreamPersistedValueData(0, new FileInputStream(testFile)));
+ fch.write(propertyId, new StreamPersistedValueData(0, PrivilegedFileHelper.fileInputStream(testFile)));
fch.commit();
// long initialSize = calcDirSize(rootDir);
@@ -207,14 +209,14 @@
FileIOChannel fch = openCASChannel(digestType);
String propertyId = IdGenerator.generate();
- ValueData value = new StreamPersistedValueData(0, new FileInputStream(testFile));
+ ValueData value = new StreamPersistedValueData(0, PrivilegedFileHelper.fileInputStream(testFile));
fch.write(propertyId, value);
fch.commit();
ValueData fvalue = fch.read(propertyId, value.getOrderNumber(), 200 * 1024);
InputStream etalon, tested;
- compareStream(etalon = new FileInputStream(testFile), tested = fvalue.getAsStream());
+ compareStream(etalon = PrivilegedFileHelper.fileInputStream(testFile), tested = fvalue.getAsStream());
etalon.close();
tested.close();
}
@@ -230,12 +232,13 @@
FileIOChannel fch = openCASChannel(digestType);
String propertyId = IdGenerator.generate();
- ValueData value = new StreamPersistedValueData(0, new FileInputStream(testFile));
+ ValueData value = new StreamPersistedValueData(0, PrivilegedFileHelper.fileInputStream(testFile));
fch.write(propertyId, value);
fch.commit();
File vsfile =
- new File(rootDir, fch.makeFilePath(vcas.getIdentifier(propertyId, 0), CASableIOSupport.HASHFILE_ORDERNUMBER)); // orderNum
+ PrivilegedFileHelper.file(rootDir, fch.makeFilePath(vcas.getIdentifier(propertyId, 0),
+ CASableIOSupport.HASHFILE_ORDERNUMBER)); // orderNum
// =0
fch.delete(propertyId);
@@ -314,12 +317,13 @@
for (int i = 0; i < 20; i++)
{
- fch.write(propertyId, new StreamPersistedValueData(i, new FileInputStream(testFile)));
+ fch.write(propertyId, new StreamPersistedValueData(i, PrivilegedFileHelper.fileInputStream(testFile)));
}
fch.commit();
File vsfile =
- new File(rootDir, fch.makeFilePath(vcas.getIdentifier(propertyId, 15), CASableIOSupport.HASHFILE_ORDERNUMBER));
+ PrivilegedFileHelper.file(rootDir, fch.makeFilePath(vcas.getIdentifier(propertyId, 15),
+ CASableIOSupport.HASHFILE_ORDERNUMBER));
assertTrue("File should exists " + vsfile.getAbsolutePath(), vsfile.exists());
assertEquals("Storage size must be increased on size of ONE file ", initialSize + testFile.length(),
@@ -344,12 +348,13 @@
{
File f = createBLOBTempFile(300);
addedSize += f.length();
- fch.write(propertyId, new StreamPersistedValueData(i, new FileInputStream(f)));
+ fch.write(propertyId, new StreamPersistedValueData(i, PrivilegedFileHelper.fileInputStream(f)));
}
fch.commit();
File vsfile =
- new File(rootDir, fch.makeFilePath(vcas.getIdentifier(propertyId, 15), CASableIOSupport.HASHFILE_ORDERNUMBER));
+ PrivilegedFileHelper.file(rootDir, fch.makeFilePath(vcas.getIdentifier(propertyId, 15),
+ CASableIOSupport.HASHFILE_ORDERNUMBER));
assertTrue("File should exists " + vsfile.getAbsolutePath(), vsfile.exists());
assertEquals("Storage size must be increased on size of ALL files ", initialSize + addedSize,
@@ -373,7 +378,7 @@
propertyId = IdGenerator.generate();
FileIOChannel fch = openCASChannel(digestType);
- fch.write(propertyId, new StreamPersistedValueData(0, new FileInputStream(testFile)));
+ fch.write(propertyId, new StreamPersistedValueData(0, PrivilegedFileHelper.fileInputStream(testFile)));
fch.commit();
}
@@ -402,7 +407,7 @@
addedSize += f.length();
FileIOChannel fch = openCASChannel(digestType);
- fch.write(propertyId, new StreamPersistedValueData(i, new FileInputStream(f)));
+ fch.write(propertyId, new StreamPersistedValueData(i, PrivilegedFileHelper.fileInputStream(f)));
fch.commit();
}
@@ -432,7 +437,7 @@
propertyId = pid;
FileIOChannel fch = openCASChannel(digestType);
- fch.write(pid, new StreamPersistedValueData(0, new FileInputStream(testFile)));
+ fch.write(pid, new StreamPersistedValueData(0, PrivilegedFileHelper.fileInputStream(testFile)));
fch.commit();
}
@@ -473,7 +478,7 @@
addedSize += (fileSize = f.length());
FileIOChannel fch = openCASChannel(digestType);
- fch.write(pid, new StreamPersistedValueData(i, new FileInputStream(f)));
+ fch.write(pid, new StreamPersistedValueData(i, PrivilegedFileHelper.fileInputStream(f)));
fch.commit();
}
@@ -513,7 +518,7 @@
File f = createBLOBTempFile(450);
addedSize += (m1fileSize = f.length());
- StreamPersistedValueData v = new StreamPersistedValueData(i, new FileInputStream(f));
+ StreamPersistedValueData v = new StreamPersistedValueData(i, PrivilegedFileHelper.fileInputStream(f));
if (i == 1)
sharedValue = v;
@@ -544,7 +549,7 @@
m2filesCount++;
File f = createBLOBTempFile(350);
addedSize += (m2fileSize = f.length()); // add size
- v = new StreamPersistedValueData(i, new FileInputStream(f));
+ v = new StreamPersistedValueData(i, PrivilegedFileHelper.fileInputStream(f));
}
fch.write(property2MultivaluedId, v);
}
@@ -572,7 +577,7 @@
{
File f = createBLOBTempFile(425);
addedSize += f.length();
- v = new StreamPersistedValueData(i, new FileInputStream(f));
+ v = new StreamPersistedValueData(i, PrivilegedFileHelper.fileInputStream(f));
}
FileIOChannel vfch = openCASChannel(digestType);
vfch.write(pid, v);
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/Probe.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/Probe.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/Probe.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -18,6 +18,8 @@
*/
package org.exoplatform.services.jcr.impl.storage.value.fs;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
+
import java.io.File;
import java.io.FileInputStream;
@@ -45,12 +47,13 @@
this.file = file;
}
+ @Override
public void run()
{
System.out.println("Thread started " + this.getName());
try
{
- FileInputStream is = new FileInputStream(file);
+ FileInputStream is = PrivilegedFileHelper.fileInputStream(file);
while (is.read() > 0)
{
len++;
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestFileIOChannel.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestFileIOChannel.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestFileIOChannel.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -58,10 +58,10 @@
{
super.setUp();
- rootDir = new File(new File("target"), "vs1");
+ rootDir = PrivilegedFileHelper.file(PrivilegedFileHelper.file("target"), "vs1");
rootDir.mkdirs();
- new File(rootDir, FileValueStorage.TEMP_DIR_NAME).mkdirs();
+ PrivilegedFileHelper.file(rootDir, FileValueStorage.TEMP_DIR_NAME).mkdirs();
if (!rootDir.exists())
throw new Exception("Folder does not exist " + rootDir.getAbsolutePath());
@@ -72,7 +72,7 @@
{
byte[] buf = "0123456789".getBytes();
- File file = new File(rootDir, "testReadFromIOChannel0");
+ File file = PrivilegedFileHelper.file(rootDir, "testReadFromIOChannel0");
file.deleteOnExit();
if (file.exists())
file.delete();
@@ -82,7 +82,7 @@
buf = "01234567890123456789".getBytes();
- file = new File(rootDir, "testReadFromIOChannel1");
+ file = PrivilegedFileHelper.file(rootDir, "testReadFromIOChannel1");
if (file.exists())
file.delete();
out = PrivilegedFileHelper.fileOutputStream(file);
@@ -136,11 +136,11 @@
}
channel.commit();
- assertTrue(new File(rootDir, "testWriteToIOChannel0").exists());
- assertTrue(new File(rootDir, "testWriteToIOChannel1").exists());
- assertTrue(new File(rootDir, "testWriteToIOChannel2").exists());
+ assertTrue(PrivilegedFileHelper.file(rootDir, "testWriteToIOChannel0").exists());
+ assertTrue(PrivilegedFileHelper.file(rootDir, "testWriteToIOChannel1").exists());
+ assertTrue(PrivilegedFileHelper.file(rootDir, "testWriteToIOChannel2").exists());
- assertEquals(10, new File(rootDir, "testWriteToIOChannel0").length());
+ assertEquals(10, PrivilegedFileHelper.file(rootDir, "testWriteToIOChannel0").length());
channel.delete("testWriteToIOChannel");
channel.commit();
@@ -199,16 +199,16 @@
}
channel.commit();
- assertTrue(new File(rootDir, "testDeleteFromIOChannel0").exists());
- assertTrue(new File(rootDir, "testDeleteFromIOChannel1").exists());
- assertTrue(new File(rootDir, "testDeleteFromIOChannel2").exists());
+ assertTrue(PrivilegedFileHelper.file(rootDir, "testDeleteFromIOChannel0").exists());
+ assertTrue(PrivilegedFileHelper.file(rootDir, "testDeleteFromIOChannel1").exists());
+ assertTrue(PrivilegedFileHelper.file(rootDir, "testDeleteFromIOChannel2").exists());
channel.delete("testDeleteFromIOChannel");
channel.commit();
- assertFalse(new File(rootDir, "testDeleteFromIOChannel0").exists());
- assertFalse(new File(rootDir, "testDeleteFromIOChannel1").exists());
- assertFalse(new File(rootDir, "testDeleteFromIOChannel2").exists());
+ assertFalse(PrivilegedFileHelper.file(rootDir, "testDeleteFromIOChannel0").exists());
+ assertFalse(PrivilegedFileHelper.file(rootDir, "testDeleteFromIOChannel1").exists());
+ assertFalse(PrivilegedFileHelper.file(rootDir, "testDeleteFromIOChannel2").exists());
channel.delete("testDeleteFromIOChannel");
channel.commit();
@@ -237,7 +237,7 @@
}
channel.commit();
- File f = new File(rootDir, "testConcurrentReadFromIOChannel0");
+ File f = PrivilegedFileHelper.file(rootDir, "testConcurrentReadFromIOChannel0");
if (!f.exists())
throw new Exception("File does not exist " + f.getAbsolutePath());
@@ -283,7 +283,7 @@
}
channel.commit();
- File f = new File(rootDir, "testDeleteLockedFileFromIOChannel0");
+ File f = PrivilegedFileHelper.file(rootDir, "testDeleteLockedFileFromIOChannel0");
Probe p = new Probe(f);
p.start();
@@ -295,10 +295,10 @@
// removed by FileCleaner
//Thread.sleep(3000);
- f = new File(rootDir, "testDeleteLockedFileFromIOChannel0");
+ f = PrivilegedFileHelper.file(rootDir, "testDeleteLockedFileFromIOChannel0");
// assertFalse(f.exists());
System.out.println(">>>>>>>>>>>>>" + f.canRead() + " " + f.exists() + " " + f.canWrite());
- System.out.println(">>>>>>>>>>>>>" + new FileInputStream(f).read());
+ System.out.println(">>>>>>>>>>>>>" + PrivilegedFileHelper.fileInputStream(f).read());
// new Probe(f).start();
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestFileValueIO.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestFileValueIO.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestFileValueIO.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -85,7 +85,7 @@
{
byte[] buf = "0123456789".getBytes();
- File file = new File("target/testReadByteArrayValueData");
+ File file = PrivilegedFileHelper.file("target/testReadByteArrayValueData");
if (file.exists())
file.delete();
FileOutputStream out = PrivilegedFileHelper.fileOutputStream(file);
@@ -107,7 +107,7 @@
{
byte[] buf = "0123456789".getBytes();
- File file = new File("target/testReadFileValueData");
+ File file = PrivilegedFileHelper.file("target/testReadFileValueData");
if (file.exists())
file.delete();
FileOutputStream out = PrivilegedFileHelper.fileOutputStream(file);
@@ -136,7 +136,7 @@
{
byte[] buf = "0123456789".getBytes();
- File file = new File("target/testWriteFileValueData");
+ File file = PrivilegedFileHelper.file("target/testWriteFileValueData");
if (file.exists())
file.delete();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/TestValueFileIOHelper.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/TestValueFileIOHelper.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/TestValueFileIOHelper.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -123,7 +123,7 @@
out.close();
}
- testDir = new File("target/TestValueFileIOHelper");
+ testDir = PrivilegedFileHelper.file("target/TestValueFileIOHelper");
testDir.mkdirs();
dest = File.createTempFile("vdftest", "", testDir);
@@ -145,7 +145,7 @@
// copy via InputStream
long start = System.currentTimeMillis();
- InputStream in = new FileInputStream(srcSerialization);
+ InputStream in = PrivilegedFileHelper.fileInputStream(srcSerialization);
OutputStream out = PrivilegedFileHelper.fileOutputStream(dest);
ObjectReader or = new ObjectReaderImpl(in);
@@ -179,7 +179,7 @@
// copy via NIO
start = System.currentTimeMillis();
- in = new BufferedInputStream(new FileInputStream(srcSerialization));
+ in = new BufferedInputStream(PrivilegedFileHelper.fileInputStream(srcSerialization));
out = PrivilegedFileHelper.fileOutputStream(dest);
openChannel(in, out);
@@ -210,14 +210,14 @@
public void testCopyFileToFile() throws Exception
{
- io.copyClose(new FileInputStream(src), PrivilegedFileHelper.fileOutputStream(dest));
+ io.copyClose(PrivilegedFileHelper.fileInputStream(src), PrivilegedFileHelper.fileOutputStream(dest));
// check length
assertEquals(src.length(), dest.length());
// check content
- // InputStream srcin = new FileInputStream(src);
- // InputStream destin = new FileInputStream(dest);
+ // InputStream srcin = PrivilegedFileHelper.fileInputStream(src);
+ // InputStream destin = PrivilegedFileHelper.fileInputStream(dest);
// try {
// compareStream(srcin, destin);
// } finally {
@@ -234,7 +234,7 @@
// copy via InputStream
long start = System.currentTimeMillis();
- InputStream in = new FileInputStream(src);
+ InputStream in = PrivilegedFileHelper.fileInputStream(src);
// InputStream in = new URL("http://jboss1.exoua-int:8089/browser/02.zip").openStream();
OutputStream out = PrivilegedFileHelper.fileOutputStream(dest);
try
@@ -261,7 +261,7 @@
// copy via NIO
start = System.currentTimeMillis();
- io.copyClose(new BufferedInputStream(new FileInputStream(src)), PrivilegedFileHelper.fileOutputStream(dest));
+ io.copyClose(new BufferedInputStream(PrivilegedFileHelper.fileInputStream(src)), PrivilegedFileHelper.fileOutputStream(dest));
// io.copyClose(new URL("http://jboss1.exoua-int:8089/browser/02.zip").openStream(), new
// FileOutputStream(dest));
System.out.println("\t=== NIO time " + (System.currentTimeMillis() - start));
@@ -270,8 +270,8 @@
assertEquals(src.length(), dest.length());
// check content
- // InputStream srcin = new FileInputStream(src);
- // InputStream destin = new FileInputStream(dest);
+ // InputStream srcin = PrivilegedFileHelper.fileInputStream(src);
+ // InputStream destin = PrivilegedFileHelper.fileInputStream(dest);
// try {
// compareStream(srcin, destin);
// } finally {
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/tools/tree/generator/RandomValueNodeGenerator.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/tools/tree/generator/RandomValueNodeGenerator.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/tools/tree/generator/RandomValueNodeGenerator.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -94,7 +94,7 @@
else
{
file = createBLOBTempFile(size);
- inputStream = new BufferedInputStream(new FileInputStream(file));
+ inputStream = new BufferedInputStream(PrivilegedFileHelper.fileInputStream(file));
}
val = valueFactory.createValue(inputStream);
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestPersistedValueData.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestPersistedValueData.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestPersistedValueData.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -58,7 +58,7 @@
{
byte[] buf = "0123456789".getBytes();
- File file = new File("target/testCreateFileStreamValueData");
+ File file = PrivilegedFileHelper.file("target/testCreateFileStreamValueData");
if (file.exists())
file.delete();
FileOutputStream out = PrivilegedFileHelper.fileOutputStream(file);
@@ -84,8 +84,8 @@
{
byte[] buf = "0123456789".getBytes();
- SwapFile file = SwapFile.get(new File("target"), "testIfFinalizeRemovesTempFileStreamValueData");
- //File file = new File("target/testIfFinalizeRemovesTempFileStreamValueData");
+ SwapFile file = SwapFile.get(PrivilegedFileHelper.file("target"), "testIfFinalizeRemovesTempFileStreamValueData");
+ //File file = PrivilegedFileHelper.file("target/testIfFinalizeRemovesTempFileStreamValueData");
//if (file.exists())
// file.delete();
FileOutputStream out = PrivilegedFileHelper.fileOutputStream(file);
@@ -111,7 +111,7 @@
byte[] buf =
"0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"
.getBytes();
- File file = new File("target/testConcurrentFileStreamValueDataReading");
+ File file = PrivilegedFileHelper.file("target/testConcurrentFileStreamValueDataReading");
if (file.exists())
file.delete();
FileOutputStream out = PrivilegedFileHelper.fileOutputStream(file);
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestTransientValueData.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestTransientValueData.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestTransientValueData.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -69,16 +69,16 @@
{
byte[] buf = "0123456789".getBytes();
- File file = new File("target/testCreateFileStreamTransientValueData");
+ File file = PrivilegedFileHelper.file("target/testCreateFileStreamTransientValueData");
if (file.exists())
file.delete();
FileOutputStream out = PrivilegedFileHelper.fileOutputStream(file);
out.write(buf);
out.close();
- FileInputStream fs1 = new FileInputStream(file);
+ FileInputStream fs1 = PrivilegedFileHelper.fileInputStream(file);
TransientValueData vd =
- new TransientValueData(0, null, fs1, null, new FileCleaner(), 5, new File("target"), true);
+ new TransientValueData(0, null, fs1, null, new FileCleaner(), 5, PrivilegedFileHelper.file("target"), true);
// spool to file
InputStream fs2 = vd.getAsStream();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestTransientValueDataSpooling.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestTransientValueDataSpooling.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestTransientValueDataSpooling.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -54,7 +54,7 @@
private TransactionChangesLog cLog;
- private final File tmpdir = new File(System.getProperty("java.io.tmpdir"));
+ private final File tmpdir = PrivilegedFileHelper.file(System.getProperty("java.io.tmpdir"));
private boolean haveValueStorage = false;
@@ -110,7 +110,7 @@
});
NodeImpl node = (NodeImpl)root.addNode("testNode");
- node.setProperty("testProp", new FileInputStream(tmpFile));
+ node.setProperty("testProp", PrivilegedFileHelper.fileInputStream(tmpFile));
root.save();
System.gc();
@@ -149,7 +149,7 @@
});
Node node = root.addNode("testNode");
- node.setProperty("testProp", new FileInputStream(tmpFile));
+ node.setProperty("testProp", PrivilegedFileHelper.fileInputStream(tmpFile));
node.getProperty("testProp").getStream().close();
root.save();
@@ -172,7 +172,7 @@
File tmpFile = createBLOBTempFile(250);
Node node = root.addNode("testNode");
- node.setProperty("testProp", new FileInputStream(tmpFile));
+ node.setProperty("testProp", PrivilegedFileHelper.fileInputStream(tmpFile));
session.save();
TransactionChangesLog cl = new TransactionChangesLog(cLog.getLogIterator().nextLog());
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestValueImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestValueImpl.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestValueImpl.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -45,7 +45,7 @@
public class TestValueImpl extends TestCase
{
- private File tempDirectory = new File(System.getProperty("java.io.tmpdir"));
+ private File tempDirectory = PrivilegedFileHelper.file(System.getProperty("java.io.tmpdir"));
private int maxFufferSize = 10;
@@ -53,14 +53,14 @@
{
byte[] buf = "012345678901234567890123456789".getBytes();
- File file = new File("target/testNewBinaryValue");
+ File file = PrivilegedFileHelper.file("target/testNewBinaryValue");
if (file.exists())
file.delete();
FileOutputStream out = PrivilegedFileHelper.fileOutputStream(file);
out.write(buf);
out.close();
- FileInputStream fs1 = new FileInputStream(file);
+ FileInputStream fs1 = PrivilegedFileHelper.fileInputStream(file);
BinaryValue val = new BinaryValue(fs1, new FileCleaner(), tempDirectory, maxFufferSize);
InputStream str1 = val.getStream();
assertNotNull(str1);
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/lab/cluster/test/TestBLOBValue.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/lab/cluster/test/TestBLOBValue.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/lab/cluster/test/TestBLOBValue.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -1,6 +1,7 @@
package org.exoplatform.services.jcr.lab.cluster.test;
import org.exoplatform.services.jcr.JcrAPIBaseTest;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.io.FileInputStream;
@@ -31,7 +32,7 @@
Node contentNode = file.addNode("jcr:content", "nt:resource");
// contentNode.setProperty("jcr:encoding", "UTF-8");
contentNode.setProperty("jcr:mimeType", "application/octet-stream");
- InputStream is = new FileInputStream(blob);
+ InputStream is = PrivilegedFileHelper.fileInputStream(blob);
try
{
contentNode.setProperty("jcr:data", is);
@@ -81,7 +82,7 @@
{
children.nextNode().remove();
}
-
+
testRoot.save();
}
@@ -96,7 +97,7 @@
// write
Property text = testRoot.setProperty("text", "string property");
- FileInputStream fis = new FileInputStream(testFile);
+ FileInputStream fis = PrivilegedFileHelper.fileInputStream(testFile);
Property blob = testRoot.setProperty("blob", fis);
testRoot.save();
@@ -182,4 +183,3 @@
}
}
}
-
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/lab/java/TestFileLock.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/lab/java/TestFileLock.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/lab/java/TestFileLock.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -45,7 +45,7 @@
public void _testSameJVMlLock() throws IOException, InterruptedException
{
- File f = new File("\\\\storm\\public\\file1.tmp");
+ File f = PrivilegedFileHelper.file("\\\\storm\\public\\file1.tmp");
f.createNewFile();
FileOutputStream fout = PrivilegedFileHelper.fileOutputStream(f);
FileChannel fc = fout.getChannel();
@@ -56,7 +56,7 @@
fc.close();
// reopen
- FileInputStream fin = new FileInputStream(f);
+ FileInputStream fin = PrivilegedFileHelper.fileInputStream(f);
fc = fin.getChannel();
byte[] b = new byte[256];
@@ -82,7 +82,7 @@
try
{
Thread.sleep(25);
- FileOutputStream fout1 = PrivilegedFileHelper.fileOutputStream(new File("\\\\storm\\public\\file1.tmp"));
+ FileOutputStream fout1 = PrivilegedFileHelper.fileOutputStream(PrivilegedFileHelper.file("\\\\storm\\public\\file1.tmp"));
FileChannel fc1 = fout1.getChannel();
try
{
@@ -112,7 +112,7 @@
fc.close();
// print final content
- fin = new FileInputStream(f);
+ fin = PrivilegedFileHelper.fileInputStream(f);
fc = fin.getChannel();
res = -1;
@@ -134,8 +134,8 @@
final long timeout = Long.valueOf(System.getProperty("exo.jcr.lab.testFileLockTimeout", "20000"));
- // File f = new File("\\\\storm\\public\\file2.tmp");
- File f = new File("D:\\tmp\\file2.tmp");
+ // File f = PrivilegedFileHelper.file("\\\\storm\\public\\file2.tmp");
+ File f = PrivilegedFileHelper.file("D:\\tmp\\file2.tmp");
System.out.println("Try open file for write " + System.currentTimeMillis());
FileOutputStream fout = PrivilegedFileHelper.fileOutputStream(f);
@@ -157,7 +157,7 @@
// reopen for read
Thread.sleep(timeout);
System.out.println("Try read file " + System.currentTimeMillis());
- FileInputStream fin = new FileInputStream(f);
+ FileInputStream fin = PrivilegedFileHelper.fileInputStream(f);
fc = fin.getChannel();
System.out.println("Try shared lock " + System.currentTimeMillis());
FileLock shlock = fc.lock(0, fc.size(), true);
@@ -196,7 +196,7 @@
// print final content
Thread.sleep(timeout);
System.out.println("Try read file " + System.currentTimeMillis());
- fin = new FileInputStream(f);
+ fin = PrivilegedFileHelper.fileInputStream(f);
fc = fin.getChannel();
System.out.println("Try shared lock " + System.currentTimeMillis());
shlock = fc.lock(0, fc.size(), true);
@@ -217,8 +217,8 @@
final long timeout = Long.valueOf(System.getProperty("exo.jcr.lab.testFileLockTimeout", "20000"));
- // File f = new File("\\\\storm\\public\\file3.tmp");
- File f = new File("D:\\tmp\\file3.tmp");
+ // File f = PrivilegedFileHelper.file("\\\\storm\\public\\file3.tmp");
+ File f = PrivilegedFileHelper.file("D:\\tmp\\file3.tmp");
// write new content
System.out.println("Try open file for write " + System.currentTimeMillis());
@@ -238,7 +238,7 @@
// reopen for read
Thread.sleep(timeout);
System.out.println("Try read file " + System.currentTimeMillis());
- FileInputStream fin = new FileInputStream(f);
+ FileInputStream fin = PrivilegedFileHelper.fileInputStream(f);
fc = fin.getChannel();
System.out.println("Try shared lock " + System.currentTimeMillis());
FileLock shlock = fc.lock(0, fc.size(), true);
@@ -262,12 +262,12 @@
public void testInputStreamLock() throws IOException, InterruptedException
{
- // File f = new File("\\\\storm\\public\\file3.tmp");
- File f = new File("D:\\tmp\\file4.tmp");
+ // File f = PrivilegedFileHelper.file("\\\\storm\\public\\file3.tmp");
+ File f = PrivilegedFileHelper.file("D:\\tmp\\file4.tmp");
// write new content
System.out.println("Try open file for read " + System.currentTimeMillis());
- FileInputStream fin = new FileInputStream(f);
+ FileInputStream fin = PrivilegedFileHelper.fileInputStream(f);
FileChannel fc = fin.getChannel();
System.out.println("Try lock file " + System.currentTimeMillis());
fin.read();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestBinaryValue.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestBinaryValue.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestBinaryValue.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -19,6 +19,7 @@
package org.exoplatform.services.jcr.load.blob;
import org.exoplatform.services.jcr.JcrAPIBaseTest;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.FileInputStream;
import java.io.InputStream;
@@ -69,6 +70,7 @@
// -------------- TEST FILE ------------------
private static String TEST_FILE = null; // URL_SMALL_FILE
+ @Override
public void setUp() throws Exception
{
super.setUp();// .repository
@@ -96,7 +98,7 @@
Node localBigFile = testLocalBigFiles.addNode("bigFile" + i, "nt:file");
Node contentNode = localBigFile.addNode("jcr:content", "nt:resource");
// contentNode.setProperty("jcr:encoding", "UTF-8");
- InputStream is = new FileInputStream(TEST_FILE);
+ InputStream is = PrivilegedFileHelper.fileInputStream(TEST_FILE);
contentNode.setProperty("jcr:data", is);
contentNode.setProperty("jcr:mimeType", "application/octet-stream ");
is.close();
@@ -133,14 +135,14 @@
* "application/octet-stream "); contentNode.setProperty("jcr:lastModified",
* Calendar.getInstance()); } session.save(); endTime = System.currentTimeMillis();
* log.info("Execution time after adding and saving: (local small)" + ((endTime - startTime) /
- * 1000) + "s"); // check streams //compareStream(new FileInputStream(LOCAL_SMALL_FILE), //
+ * 1000) + "s"); // check streams //compareStream(PrivilegedFileHelper.fileInputStream(LOCAL_SMALL_FILE), //
* testLocalSmallFiles.getProperty("smallFile0/jcr:content/jcr:data").getStream()); } public void
* testRemoteBigFiles() throws Exception { Node testRemoteBigFiles =
* testBinaryValue.addNode("testRemoteBigFiles"); long startTime, endTime; startTime =
* System.currentTimeMillis(); // to get the time of start for (int i = 0; i < FILES_COUNT; i++) {
* Node remoteBigFile = testRemoteBigFiles.addNode("bigFile" + i, "nt:file"); Node contentNode =
* remoteBigFile.addNode("jcr:content", "nt:resource"); //contentNode.setProperty("jcr:encoding",
- * "UTF-8"); contentNode.setProperty("jcr:data", new FileInputStream(REMOTE_BIG_FILE));
+ * "UTF-8"); contentNode.setProperty("jcr:data", PrivilegedFileHelper.fileInputStream(REMOTE_BIG_FILE));
* contentNode.setProperty("jcr:mimeType", "application/octet-stream ");
* contentNode.setProperty("jcr:lastModified", Calendar.getInstance()); } session.save(); endTime
* = System.currentTimeMillis(); log.info("Execution time after adding and saving (remote big):" +
@@ -157,7 +159,7 @@
* "application/octet-stream "); contentNode.setProperty("jcr:lastModified",
* Calendar.getInstance()); } session.save(); endTime = System.currentTimeMillis();
* log.info("Execution time after adding and saving: (remote small)" + ((endTime - startTime) /
- * 1000) + "s"); // check streams compareStream(new FileInputStream(LOCAL_SMALL_FILE),
+ * 1000) + "s"); // check streams compareStream(PrivilegedFileHelper.fileInputStream(LOCAL_SMALL_FILE),
* testRemoteSmallFiles.getProperty("smallFile0/jcr:content/jcr:data").getStream()); } public void
* testUrlBigFiles() throws Exception { Node testUrlBigFiles =
* testBinaryValue.addNode("testUrlBigFiles"); long startTime, endTime; startTime =
@@ -181,6 +183,7 @@
* + "s"); }
*/
+ @Override
protected void tearDown() throws Exception
{
testBinaryValue.remove();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestBinaryValueMultiThreading.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestBinaryValueMultiThreading.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestBinaryValueMultiThreading.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -21,6 +21,7 @@
import org.exoplatform.services.jcr.JcrAPIBaseTest;
import org.exoplatform.services.jcr.core.CredentialsImpl;
import org.exoplatform.services.jcr.impl.core.SessionImpl;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.FileInputStream;
import java.util.ArrayList;
@@ -71,6 +72,7 @@
protected class TestJCRClient extends Thread
{
+ @Override
public void run()
{
log.info("Client started...");
@@ -92,13 +94,13 @@
{
// check streams
- compareStream(new FileInputStream(LOCAL_SMALL_FILE), testLocalSmallFiles.getProperty(
+ compareStream(PrivilegedFileHelper.fileInputStream(LOCAL_SMALL_FILE), testLocalSmallFiles.getProperty(
"smallFile" + i + "/jcr:content/jcr:data").getStream());
- compareStream(new FileInputStream(LOCAL_BIG_FILE), testLocalBigFiles.getProperty(
+ compareStream(PrivilegedFileHelper.fileInputStream(LOCAL_BIG_FILE), testLocalBigFiles.getProperty(
"bigFile" + i + "/jcr:content/jcr:data").getStream());
/*
- * compareStream(new FileInputStream(REMOTE_SMALL_FILE),
+ * compareStream(PrivilegedFileHelper.fileInputStream(REMOTE_SMALL_FILE),
* testRemoteSmallFiles.getProperty("smallFile" + i +
* "/jcr:content/jcr:data").getStream()); compareStream(new
* FileInputStream(REMOTE_BIG_FILE), testRemoteBigFiles.getProperty("bigFile" + i +
@@ -129,7 +131,7 @@
{
Node localSmallFile = testLocalSmallFiles.addNode("smallFile" + i, "nt:file");
Node contentNode = localSmallFile.addNode("jcr:content", "nt:resource");
- contentNode.setProperty("jcr:data", new FileInputStream(LOCAL_SMALL_FILE));
+ contentNode.setProperty("jcr:data", PrivilegedFileHelper.fileInputStream(LOCAL_SMALL_FILE));
contentNode.setProperty("jcr:mimeType", "application/octet-stream");
contentNode.setProperty("jcr:lastModified", Calendar.getInstance());
}
@@ -145,7 +147,7 @@
{
Node localBigFile = testLocalBigFiles.addNode("bigFile" + i, "nt:file");
Node contentNode = localBigFile.addNode("jcr:content", "nt:resource");
- contentNode.setProperty("jcr:data", new FileInputStream(LOCAL_BIG_FILE));
+ contentNode.setProperty("jcr:data", PrivilegedFileHelper.fileInputStream(LOCAL_BIG_FILE));
contentNode.setProperty("jcr:mimeType", "application/octet-stream");
contentNode.setProperty("jcr:lastModified", Calendar.getInstance());
}
@@ -155,13 +157,13 @@
* Node testRemoteSmallFiles = root.addNode("testRemoteSmallFiles"); for (int i = 0; i <
* FILES_COUNT; i++) { Node remoteSmallFile = testRemoteSmallFiles.addNode("smallFile" + i,
* "nt:file"); Node contentNode = remoteSmallFile.addNode("jcr:content", "nt:resource");
- * contentNode.setProperty("jcr:data", new FileInputStream(REMOTE_SMALL_FILE));
+ * contentNode.setProperty("jcr:data", PrivilegedFileHelper.fileInputStream(REMOTE_SMALL_FILE));
* contentNode.setProperty("jcr:mimeType", "application/octet-stream ");
* contentNode.setProperty("jcr:lastModified", Calendar.getInstance()); } //Remote big files
* Node testRemoteBigFiles = root.addNode("testRemoteBigFiles"); for (int i = 0; i <
* FILES_COUNT; i++) { Node remoteBigFile = testRemoteBigFiles.addNode("bigFile" + i,
* "nt:file"); Node contentNode = remoteBigFile.addNode("jcr:content", "nt:resource");
- * contentNode.setProperty("jcr:data", new FileInputStream(REMOTE_BIG_FILE));
+ * contentNode.setProperty("jcr:data", PrivilegedFileHelper.fileInputStream(REMOTE_BIG_FILE));
* contentNode.setProperty("jcr:mimeType", "application/octet-stream ");
* contentNode.setProperty("jcr:lastModified", Calendar.getInstance()); } //Url small files Node
* testUrlSmallFiles = root.addNode("testUrlSmallFiles"); for (int i = 0; i < FILES_COUNT; i++)
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestConcurrentItems.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestConcurrentItems.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestConcurrentItems.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -20,6 +20,7 @@
import org.exoplatform.services.jcr.JcrAPIBaseTest;
import org.exoplatform.services.jcr.impl.core.PropertyImpl;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.load.blob.thread.CreateThread;
import org.exoplatform.services.jcr.load.blob.thread.DeleteThread;
import org.exoplatform.services.jcr.load.blob.thread.NtFileCreatorThread;
@@ -74,6 +75,7 @@
private File testFile = null;
+ @Override
public void setUp() throws Exception
{
super.setUp();
@@ -95,7 +97,7 @@
byte[] buff = new byte[1024 * 4];
int read = 0;
// InputStream dataStream = new URL(TEST_FILE).openStream();
- InputStream dataStream = new FileInputStream(TEST_FILE);
+ InputStream dataStream = PrivilegedFileHelper.fileInputStream(TEST_FILE);
while ((read = dataStream.read(buff)) >= 0)
{
dataSize += read;
@@ -140,7 +142,7 @@
Node testRoot = csession.getRootNode().getNode(TestConcurrentItems.TEST_ROOT);
Node ntFile = testRoot.addNode(nodeName, "nt:file");
Node contentNode = ntFile.addNode("jcr:content", "nt:resource");
- dataStream = new FileInputStream(TestConcurrentItems.TEST_FILE);
+ dataStream = PrivilegedFileHelper.fileInputStream(TestConcurrentItems.TEST_FILE);
PropertyImpl data = (PropertyImpl)contentNode.setProperty("jcr:data", dataStream);
contentNode.setProperty("jcr:mimeType", "video/avi");
contentNode.setProperty("jcr:lastModified", Calendar.getInstance());
@@ -248,12 +250,14 @@
for (int i = 0; i < 5; i++)
{
ReadThread readed =
- new ReadThread(repository.login(
- this.credentials /*
- * session.getCredentials(
- * )
- */,
- "ws1"));
+ new ReadThread(
+ repository
+ .login(
+ this.credentials /*
+ * session.getCredentials(
+ * )
+ */,
+ "ws1"));
readed.start();
readers.add(readed);
try
@@ -268,9 +272,9 @@
log.info("Begin cleaner...");
DeleteThread cleaner = new DeleteThread(repository.login(this.credentials /*
- * session.getCredentials
- * ()
- */, "ws1"));
+ * session.getCredentials
+ * ()
+ */, "ws1"));
cleaner.start();
log.info("<<<<<<<<<<<<<<<<<<<< Wait cycle >>>>>>>>>>>>>>>>>>>>>");
@@ -411,6 +415,7 @@
Thread waiter = new Thread()
{
+ @Override
public void run()
{
try
@@ -448,7 +453,7 @@
Node testRoot = csession.getRootNode().getNode(TestConcurrentItems.TEST_ROOT);
Node ntFile = testRoot.addNode(nodeName, "nt:file");
Node contentNode = ntFile.addNode("jcr:content", "nt:resource");
- dataStream = new FileInputStream(TEST_FILE);
+ dataStream = PrivilegedFileHelper.fileInputStream(TEST_FILE);
PropertyImpl data = (PropertyImpl)contentNode.setProperty("jcr:data", dataStream);
contentNode.setProperty("jcr:mimeType", "video/avi");
contentNode.setProperty("jcr:lastModified", Calendar.getInstance());
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestExportBigFiles.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestExportBigFiles.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestExportBigFiles.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -58,7 +58,7 @@
Node localBigFile = testLocalBigFiles.addNode("bigFile" + 1, "nt:file");
Node contentNode = localBigFile.addNode("jcr:content", "nt:resource");
// contentNode.setProperty("jcr:encoding", "UTF-8");
- InputStream is = new FileInputStream(TEST_FILE);
+ InputStream is = PrivilegedFileHelper.fileInputStream(TEST_FILE);
contentNode.setProperty("jcr:data", is);
contentNode.setProperty("jcr:mimeType", "application/octet-stream ");
is.close();
@@ -84,7 +84,7 @@
testLocalBigFiles.remove();
session.save();
- BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream(file));
+ BufferedInputStream bufferedInputStream = new BufferedInputStream(PrivilegedFileHelper.fileInputStream(file));
// importing content
session.importXML(root.getPath(), bufferedInputStream, ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING);
@@ -96,7 +96,7 @@
Node content = lbf.getNode("jcr:content");
// comparing with source file
- compareStream(new BufferedInputStream(new FileInputStream(TEST_FILE)), content.getProperty("jcr:data")
+ compareStream(new BufferedInputStream(PrivilegedFileHelper.fileInputStream(TEST_FILE)), content.getProperty("jcr:data")
.getStream());
n1.remove();
@@ -122,7 +122,7 @@
Node localBigFile = testLocalBigFiles.addNode("bigFile" + 1, "nt:file");
Node contentNode = localBigFile.addNode("jcr:content", "nt:resource");
// contentNode.setProperty("jcr:encoding", "UTF-8");
- InputStream is = new FileInputStream(TEST_FILE2);
+ InputStream is = PrivilegedFileHelper.fileInputStream(TEST_FILE2);
contentNode.setProperty("jcr:data", is);
contentNode.setProperty("jcr:mimeType", "application/octet-stream ");
is.close();
@@ -148,7 +148,7 @@
testLocalBigFiles.remove();
session.save();
- BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream(file));
+ BufferedInputStream bufferedInputStream = new BufferedInputStream(PrivilegedFileHelper.fileInputStream(file));
// importing content
session.importXML(root.getPath(), bufferedInputStream, ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING);
@@ -160,7 +160,7 @@
Node content = lbf.getNode("jcr:content");
// comparing with source file
- compareStream(new BufferedInputStream(new FileInputStream(TEST_FILE2)), content.getProperty("jcr:data")
+ compareStream(new BufferedInputStream(PrivilegedFileHelper.fileInputStream(TEST_FILE2)), content.getProperty("jcr:data")
.getStream());
n1.remove();
@@ -182,7 +182,7 @@
Node localBigFile = testLocalBigFiles.addNode("bigFile" + 1, "nt:file");
Node contentNode = localBigFile.addNode("jcr:content", "nt:resource");
// contentNode.setProperty("jcr:encoding", "UTF-8");
- InputStream is = new FileInputStream(TEST_FILE);
+ InputStream is = PrivilegedFileHelper.fileInputStream(TEST_FILE);
contentNode.setProperty("jcr:data", is);
contentNode.setProperty("jcr:mimeType", "application/octet-stream ");
is.close();
@@ -208,7 +208,7 @@
testLocalBigFiles.remove();
session.save();
- BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream(file));
+ BufferedInputStream bufferedInputStream = new BufferedInputStream(PrivilegedFileHelper.fileInputStream(file));
// importing content
session.importXML(root.getPath(), bufferedInputStream, ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING);
@@ -220,7 +220,7 @@
Node content = lbf.getNode("jcr:content");
// comparing with source file
- compareStream(new BufferedInputStream(new FileInputStream(TEST_FILE)), content.getProperty("jcr:data")
+ compareStream(new BufferedInputStream(PrivilegedFileHelper.fileInputStream(TEST_FILE)), content.getProperty("jcr:data")
.getStream());
n1.remove();
@@ -251,7 +251,7 @@
Node localBigFile = testLocalBigFiles.addNode("bigFile" + i, "nt:file");
Node contentNode = localBigFile.addNode("jcr:content", "nt:resource");
// contentNode.setProperty("jcr:encoding", "UTF-8");
- InputStream is = new FileInputStream(TEST_FILE);
+ InputStream is = PrivilegedFileHelper.fileInputStream(TEST_FILE);
contentNode.setProperty("jcr:data", is);
contentNode.setProperty("jcr:mimeType", "application/octet-stream ");
is.close();
@@ -278,7 +278,7 @@
testLocalBigFiles.remove();
session.save();
- BufferedInputStream bufferedInputStream = new BufferedInputStream(new FileInputStream(file));
+ BufferedInputStream bufferedInputStream = new BufferedInputStream(PrivilegedFileHelper.fileInputStream(file));
// importing content
session.importXML(root.getPath(), bufferedInputStream, ImportUUIDBehavior.IMPORT_UUID_COLLISION_REMOVE_EXISTING);
@@ -292,7 +292,7 @@
Node lbf = n1.getNode("bigFile" + i);
Node content = lbf.getNode("jcr:content");
// comparing with source file
- compareStream(new BufferedInputStream(new FileInputStream(TEST_FILE)), content.getProperty("jcr:data")
+ compareStream(new BufferedInputStream(PrivilegedFileHelper.fileInputStream(TEST_FILE)), content.getProperty("jcr:data")
.getStream());
}
n1.remove();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestLoadRepo.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestLoadRepo.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestLoadRepo.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -60,7 +60,7 @@
public void _testExport() throws Exception
{
Node testNode = root.addNode("testNode");
- File checkSummValue = new File(System.getProperty("java.io.tmpdir"), "repo.ssh1");
+ File checkSummValue = PrivilegedFileHelper.file(System.getProperty("java.io.tmpdir"), "repo.ssh1");
BufferedOutputStream sshStrream = new BufferedOutputStream(PrivilegedFileHelper.fileOutputStream(checkSummValue));
RandomValueNodeGenerator nodeGenerator =
new RandomValueNodeGenerator(session.getValueFactory(), 6, 5, 8, 5, 1024 * 1024);
@@ -70,7 +70,7 @@
ValueSsh1Generator ssh1Generator = new ValueSsh1Generator(session.getTransientNodesManager(), sshStrream);
((NodeImpl)testNode).getData().accept(ssh1Generator);
sshStrream.close();
- File exportFile = new File(System.getProperty("java.io.tmpdir"), "testExport.xml");
+ File exportFile = PrivilegedFileHelper.file(System.getProperty("java.io.tmpdir"), "testExport.xml");
OutputStream os = PrivilegedFileHelper.fileOutputStream(exportFile);
session.exportSystemView(testNode.getPath(), os, false, false);
os.close();
@@ -85,16 +85,16 @@
ConstraintViolationException, LockException, RepositoryException, IOException, NoSuchAlgorithmException
{
- File importFile = new File(System.getProperty("java.io.tmpdir"), "testExport.xml");
- InputStream is = new FileInputStream(importFile);
+ File importFile = PrivilegedFileHelper.file(System.getProperty("java.io.tmpdir"), "testExport.xml");
+ InputStream is = PrivilegedFileHelper.fileInputStream(importFile);
session.getWorkspace().getNamespaceRegistry().registerNamespace("exojcrtest_old",
"http://www.exoplatform.org/jcr/exojcrtest");
session.importXML(root.getPath(), is, ImportUUIDBehavior.IMPORT_UUID_COLLISION_REPLACE_EXISTING);
session.save();
- File ssh1File = new File(System.getProperty("java.io.tmpdir"), "repo.ssh1");
- InputStream isSSH1 = new FileInputStream(ssh1File);
+ File ssh1File = PrivilegedFileHelper.file(System.getProperty("java.io.tmpdir"), "repo.ssh1");
+ InputStream isSSH1 = PrivilegedFileHelper.fileInputStream(ssh1File);
ValueSsh1Comparator ssh1Comparator = new ValueSsh1Comparator(session.getTransientNodesManager(), isSSH1);
((NodeImpl)root.getNode("testNode")).getData().accept(ssh1Comparator);
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestMoveBinaryValue.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestMoveBinaryValue.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestMoveBinaryValue.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -19,6 +19,7 @@
package org.exoplatform.services.jcr.load.blob;
import org.exoplatform.services.jcr.JcrAPIBaseTest;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.FileInputStream;
import java.io.InputStream;
@@ -43,6 +44,7 @@
// -------------- TEST FILE ------------------
private static String TEST_FILE = null; // URL_SMALL_FILE
+ @Override
public void setUp() throws Exception
{
super.setUp();
@@ -64,7 +66,7 @@
Node localBigFile = testLocalBigFiles.addNode("bigFile" + i, "nt:file");
Node contentNode = localBigFile.addNode("jcr:content", "nt:resource");
// contentNode.setProperty("jcr:encoding", "UTF-8");
- InputStream is = new FileInputStream(TEST_FILE);
+ InputStream is = PrivilegedFileHelper.fileInputStream(TEST_FILE);
contentNode.setProperty("jcr:data", is);
contentNode.setProperty("jcr:mimeType", "application/octet-stream ");
is.close();
@@ -94,6 +96,7 @@
}
}
+ @Override
protected void tearDown() throws Exception
{
testBinaryValue.remove();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestMoveBinaryValue1.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestMoveBinaryValue1.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestMoveBinaryValue1.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -19,6 +19,7 @@
package org.exoplatform.services.jcr.load.blob;
import org.exoplatform.services.jcr.JcrAPIBaseTest;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.FileInputStream;
import java.io.InputStream;
@@ -41,6 +42,7 @@
// -------------- TEST FILE ------------------
private static String TEST_FILE = null; // URL_SMALL_FILE
+ @Override
public void setUp() throws Exception
{
super.setUp();
@@ -62,7 +64,7 @@
Node localBigFile = testLocalBigFiles.addNode("bigFile" + i, "nt:file");
Node contentNode = localBigFile.addNode("jcr:content", "nt:resource");
// contentNode.setProperty("jcr:encoding", "UTF-8");
- InputStream is = new FileInputStream(TEST_FILE);
+ InputStream is = PrivilegedFileHelper.fileInputStream(TEST_FILE);
contentNode.setProperty("jcr:data", is);
contentNode.setProperty("jcr:mimeType", "application/octet-stream ");
is.close();
@@ -106,7 +108,7 @@
Node localBigFile = testLocalBigFiles.addNode("bigFile" + i, "nt:file");
Node contentNode = localBigFile.addNode("jcr:content", "nt:resource");
// contentNode.setProperty("jcr:encoding", "UTF-8");
- InputStream is = new FileInputStream(TEST_FILE);
+ InputStream is = PrivilegedFileHelper.fileInputStream(TEST_FILE);
contentNode.setProperty("jcr:data", is);
contentNode.setProperty("jcr:mimeType", "application/octet-stream ");
is.close();
@@ -139,6 +141,7 @@
}
}
+ @Override
protected void tearDown() throws Exception
{
testBinaryValue.remove();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/thread/CreateThread.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/thread/CreateThread.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/thread/CreateThread.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -19,6 +19,7 @@
package org.exoplatform.services.jcr.load.blob.thread;
import org.exoplatform.services.jcr.impl.core.PropertyImpl;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.load.blob.TestConcurrentItems;
import org.exoplatform.services.jcr.util.IdGenerator;
@@ -46,6 +47,7 @@
super(threadSession);
}
+ @Override
public void testAction()
{
while (process)
@@ -73,7 +75,7 @@
Node ntFile = testRoot.addNode(nodeName, "nt:file");
Node contentNode = ntFile.addNode("jcr:content", "nt:resource");
// dataStream = new URL(TestSwap.URL_BIG_MEDIA_FILE).openStream();
- dataStream = new FileInputStream(TestConcurrentItems.TEST_FILE);
+ dataStream = PrivilegedFileHelper.fileInputStream(TestConcurrentItems.TEST_FILE);
PropertyImpl data = (PropertyImpl)contentNode.setProperty("jcr:data", dataStream);
contentNode.setProperty("jcr:mimeType", "video/avi");
contentNode.setProperty("jcr:lastModified", Calendar.getInstance());
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/thread/NtFileCreatorThread.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/thread/NtFileCreatorThread.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/thread/NtFileCreatorThread.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -19,6 +19,7 @@
package org.exoplatform.services.jcr.load.blob.thread;
import org.exoplatform.services.jcr.impl.core.PropertyImpl;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.load.blob.TestConcurrentItems;
import org.exoplatform.services.jcr.util.IdGenerator;
@@ -48,6 +49,7 @@
this.testRootName = testRootName;
}
+ @Override
public void testAction()
{
while (process)
@@ -76,7 +78,7 @@
Node ntFile = testRoot.addNode(nodeName, "nt:file");
Node contentNode = ntFile.addNode("jcr:content", "nt:resource");
// dataStream = new URL(TestSwap.URL_BIG_MEDIA_FILE).openStream();
- dataStream = new FileInputStream(TestConcurrentItems.TEST_FILE);
+ dataStream = PrivilegedFileHelper.fileInputStream(TestConcurrentItems.TEST_FILE);
PropertyImpl data = (PropertyImpl)contentNode.setProperty("jcr:data", dataStream);
contentNode.setProperty("jcr:mimeType", "video/avi");
contentNode.setProperty("jcr:lastModified", Calendar.getInstance());
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/dataflow/persistent/TestGetNodesConcurrentModification.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/dataflow/persistent/TestGetNodesConcurrentModification.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/dataflow/persistent/TestGetNodesConcurrentModification.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -22,6 +22,7 @@
import org.exoplatform.services.jcr.JcrImplBaseTest;
import org.exoplatform.services.jcr.impl.core.NodeImpl;
import org.exoplatform.services.jcr.impl.core.SessionImpl;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.io.IOException;
@@ -164,7 +165,8 @@
super.setUp();
fails = new ArrayList<String>();
- contentFile = new URL("file:///" + new File("src/test/resources/index/test_index.doc").getAbsolutePath());
+ contentFile =
+ new URL("file:///" + PrivilegedFileHelper.file("src/test/resources/index/test_index.doc").getAbsolutePath());
initDB();
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/perf/TestBulkItemsAdd.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/perf/TestBulkItemsAdd.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/perf/TestBulkItemsAdd.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -26,6 +26,7 @@
import javax.jcr.Node;
import org.exoplatform.services.jcr.JcrAPIBaseTest;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
/**
* Created by The eXo Platform SAS Author : Peter Nedonosko peter.nedonosko(a)exoplatform.com.ua
@@ -74,7 +75,7 @@
log.info("Nodes saved " + nodesCount + ", " + (System.currentTimeMillis() - startTime) + "ms");
// save stats
- PrintWriter statFile = new PrintWriter(new File("stats.txt"));
+ PrintWriter statFile = new PrintWriter(PrivilegedFileHelper.file("stats.txt"));
statFile.write(stats.toString());
statFile.close();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/perf/TestPerformance.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/perf/TestPerformance.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/perf/TestPerformance.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -19,6 +19,7 @@
package org.exoplatform.services.jcr.load.perf;
import org.exoplatform.services.jcr.JcrAPIBaseTest;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.util.IdGenerator;
import java.io.FileInputStream;
@@ -45,6 +46,7 @@
private static String TEST_FILE = null;
+ @Override
public void setUp() throws Exception
{
super.setUp();
@@ -65,6 +67,7 @@
}
}
+ @Override
public void tearDown() throws Exception
{
}
@@ -437,7 +440,7 @@
Node cool = testAddNtFilePlusNtResource.addNode(name, "nt:file");
Node contentNode = cool.addNode("jcr:content", "nt:resource");
contentNode.setProperty("jcr:encoding", "UTF-8");
- InputStream is = new FileInputStream(TEST_FILE);
+ InputStream is = PrivilegedFileHelper.fileInputStream(TEST_FILE);
contentNode.setProperty("jcr:data", is);
contentNode.setProperty("jcr:mimeType", "text/plain");
contentNode.setProperty("jcr:lastModified", session.getValueFactory().createValue(Calendar.getInstance()));
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-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/storage/fs/TestFSReadWrite.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -111,7 +111,7 @@
{
super.setUp();
- testRoot = new File("target/fstest");
+ testRoot = PrivilegedFileHelper.file("target/fstest");
testRoot.mkdirs();
testRoot.deleteOnExit();
}
@@ -137,7 +137,7 @@
for (File f : filesList)
{
f.delete();
- deleteFileParent(new File(f.getParent()));
+ deleteFileParent(PrivilegedFileHelper.file(f.getParent()));
}
}
@@ -151,7 +151,7 @@
{
// log.info("del " + fp.getAbsolutePath());
fp.delete();
- deleteFileParent(new File(fp.getParent()));
+ deleteFileParent(PrivilegedFileHelper.file(fp.getParent()));
}
}
else
@@ -168,7 +168,7 @@
}
for (String fn : ls)
{
- File f = new File(dir.getAbsolutePath() + File.separator + fn);
+ File f = PrivilegedFileHelper.file(dir.getAbsolutePath() + File.separator + fn);
if (f.isDirectory())
{
deleteDir(f);
@@ -184,7 +184,7 @@
List<File> files = new ArrayList<File>();
for (int i = 0; i < FILES_COUNT; i++)
{
- File f = new File(testRoot.getAbsolutePath() + File.separator + SIDGenerator.generate());
+ File f = PrivilegedFileHelper.file(testRoot.getAbsolutePath() + File.separator + SIDGenerator.generate());
try
{
// f.createNewFile();
@@ -213,9 +213,9 @@
for (int i = 0; i < FILES_COUNT; i++)
{
String fileName = SIDGenerator.generate();
- File dir = new File(testRoot.getAbsolutePath() + buildPathX(fileName));
+ File dir = PrivilegedFileHelper.file(testRoot.getAbsolutePath() + buildPathX(fileName));
dir.mkdirs();
- File f = new File(dir.getAbsolutePath() + File.separator + fileName);
+ File f = PrivilegedFileHelper.file(dir.getAbsolutePath() + File.separator + fileName);
try
{
// f.createNewFile();
@@ -255,9 +255,9 @@
for (int i = 0; i < FILES_COUNT; i++)
{
String fileName = SIDGenerator.generate();
- File dir = new File(testRoot.getAbsolutePath() + buildPathXX(fileName));
+ File dir = PrivilegedFileHelper.file(testRoot.getAbsolutePath() + buildPathXX(fileName));
dir.mkdirs();
- File f = new File(dir.getAbsolutePath() + File.separator + fileName);
+ File f = PrivilegedFileHelper.file(dir.getAbsolutePath() + File.separator + fileName);
try
{
// f.createNewFile();
@@ -301,9 +301,9 @@
String fileName = SIDGenerator.generate();
String prefix = fileName.substring(0, 24); // time + addr hash prefix
String rnd = fileName.substring(24); // random name
- File dir = new File(testRoot.getAbsolutePath() + File.separator + prefix + File.separator + buildPathX(rnd));
+ File dir = PrivilegedFileHelper.file(testRoot.getAbsolutePath() + File.separator + prefix + File.separator + buildPathX(rnd));
dir.mkdirs();
- File f = new File(dir.getAbsolutePath() + File.separator + fileName);
+ File f = PrivilegedFileHelper.file(dir.getAbsolutePath() + File.separator + fileName);
try
{
// f.createNewFile();
@@ -345,9 +345,9 @@
for (int i = 0; i < FILES_COUNT; i++)
{
String fileName = SIDGenerator.generate();
- File dir = new File(testRoot.getAbsolutePath() + File.separator + buildPathX8(fileName));
+ File dir = PrivilegedFileHelper.file(testRoot.getAbsolutePath() + File.separator + buildPathX8(fileName));
dir.mkdirs();
- File f = new File(dir.getAbsolutePath() + File.separator + fileName);
+ File f = PrivilegedFileHelper.file(dir.getAbsolutePath() + File.separator + fileName);
try
{
FileOutputStream fos = PrivilegedFileHelper.fileOutputStream(f);
@@ -382,7 +382,7 @@
String[] ls = filter != null ? root.list(filter) : root.list();
for (String file : ls)
{
- File f = new File(testRoot.getAbsolutePath() + File.separator + file);
+ File f = PrivilegedFileHelper.file(testRoot.getAbsolutePath() + File.separator + file);
if (f.isDirectory())
{
// dir
@@ -393,7 +393,7 @@
// file
try
{
- FileInputStream fis = new FileInputStream(f);
+ FileInputStream fis = PrivilegedFileHelper.fileInputStream(f);
fis.close();
}
catch (FileNotFoundException e)
@@ -418,7 +418,7 @@
protected void readTreeXFiles(File root, NameFilter filter)
{
String dirPath = root.getAbsolutePath() + buildPathX(filter.getName());
- File dir = new File(dirPath);
+ File dir = PrivilegedFileHelper.file(dirPath);
String[] ls = filter != null ? dir.list(filter) : dir.list();
if (ls == null)
{
@@ -428,7 +428,7 @@
for (String file : ls)
{
- File f = new File(dir.getAbsolutePath() + File.separator + file);
+ File f = PrivilegedFileHelper.file(dir.getAbsolutePath() + File.separator + file);
if (f.isDirectory())
{
// dir
@@ -439,7 +439,7 @@
// file
try
{
- FileInputStream fis = new FileInputStream(f);
+ FileInputStream fis = PrivilegedFileHelper.fileInputStream(f);
fis.close();
}
catch (FileNotFoundException e)
@@ -457,7 +457,7 @@
protected void readTreeX8Files(File root, NameFilter filter)
{
String dirPath = root.getAbsolutePath() + buildPathX8(filter.getName());
- File dir = new File(dirPath);
+ File dir = PrivilegedFileHelper.file(dirPath);
String[] ls = filter != null ? dir.list(filter) : dir.list();
if (ls == null)
{
@@ -467,7 +467,7 @@
for (String file : ls)
{
- File f = new File(dir.getAbsolutePath() + File.separator + file);
+ File f = PrivilegedFileHelper.file(dir.getAbsolutePath() + File.separator + file);
if (f.isDirectory())
{
// dir
@@ -478,7 +478,7 @@
// file
try
{
- FileInputStream fis = new FileInputStream(f);
+ FileInputStream fis = PrivilegedFileHelper.fileInputStream(f);
fis.close();
}
catch (FileNotFoundException e)
@@ -501,7 +501,7 @@
protected void readTreeXXFiles(File root, NameFilter filter)
{
String dirPath = root.getAbsolutePath() + buildPathXX(filter.getName());
- File dir = new File(dirPath);
+ File dir = PrivilegedFileHelper.file(dirPath);
String[] ls = filter != null ? dir.list(filter) : dir.list();
if (ls == null)
{
@@ -511,7 +511,7 @@
for (String file : ls)
{
- File f = new File(dir.getAbsolutePath() + File.separator + file);
+ File f = PrivilegedFileHelper.file(dir.getAbsolutePath() + File.separator + file);
if (f.isDirectory())
{
// dir
@@ -522,7 +522,7 @@
// file
try
{
- FileInputStream fis = new FileInputStream(f);
+ FileInputStream fis = PrivilegedFileHelper.fileInputStream(f);
fis.close();
}
catch (FileNotFoundException e)
@@ -547,7 +547,7 @@
String fileName = filter.getName();
String prefix = fileName.substring(0, 24); // time + addr hash prefix
String rnd = fileName.substring(24); // random name
- File dir = new File(testRoot.getAbsolutePath() + File.separator + prefix + File.separator + buildPathX(rnd));
+ File dir = PrivilegedFileHelper.file(testRoot.getAbsolutePath() + File.separator + prefix + File.separator + buildPathX(rnd));
String[] ls = filter != null ? dir.list(filter) : dir.list();
if (ls == null)
{
@@ -557,7 +557,7 @@
for (String file : ls)
{
- File f = new File(dir.getAbsolutePath() + File.separator + file);
+ File f = PrivilegedFileHelper.file(dir.getAbsolutePath() + File.separator + file);
if (f.isDirectory())
{
// dir
@@ -568,7 +568,7 @@
// file
try
{
- FileInputStream fis = new FileInputStream(f);
+ FileInputStream fis = PrivilegedFileHelper.fileInputStream(f);
fis.close();
}
catch (FileNotFoundException e)
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/RemoveVDTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/RemoveVDTest.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/RemoveVDTest.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -68,7 +68,7 @@
vd = null;
// read first time
- ObjectReader or = new ObjectReaderImpl(new FileInputStream(serf));
+ ObjectReader or = new ObjectReaderImpl(PrivilegedFileHelper.fileInputStream(serf));
FilePersistedValueData vd1 = null;
@@ -87,7 +87,7 @@
((StreamPersistedValueData)vd1).setPersistedFile(((StreamPersistedValueData)vd1).getTempFile());
// read second time
- or = new ObjectReaderImpl(new FileInputStream(serf));
+ or = new ObjectReaderImpl(PrivilegedFileHelper.fileInputStream(serf));
FilePersistedValueData vd2 = null;
try
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/TestRollbackBigFiles.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/TestRollbackBigFiles.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/TestRollbackBigFiles.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -34,6 +34,7 @@
import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
import org.exoplatform.services.jcr.impl.storage.JCRInvalidItemStateException;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.util.IdGenerator;
import java.io.File;
@@ -83,7 +84,7 @@
File f = this.createBLOBTempFile(1024);
TransientPropertyData newProperty =
new TransientPropertyData(propPath.getInternalPath(), IdGenerator.generate(), -1, PropertyType.BINARY, newNode
- .getIdentifier(), false, new TransientValueData(new FileInputStream(f)));
+ .getIdentifier(), false, new TransientValueData(PrivilegedFileHelper.fileInputStream(f)));
list.add(new ItemState(newProperty, ItemState.ADDED, false, parent.getQPath()));
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/common/TestExportImportAmongSessions.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/common/TestExportImportAmongSessions.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/common/TestExportImportAmongSessions.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -75,7 +75,7 @@
try
{
- session1.importXML("/", new FileInputStream(outputFile), ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW);
+ session1.importXML("/", PrivilegedFileHelper.fileInputStream(outputFile), ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW);
session1.save();
testNode = session1.getRootNode().getNode(TEST_NODE);
@@ -124,7 +124,7 @@
try
{
- session1.importXML("/", new FileInputStream(outputFile), ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW);
+ session1.importXML("/", PrivilegedFileHelper.fileInputStream(outputFile), ImportUUIDBehavior.IMPORT_UUID_CREATE_NEW);
testNode = session1.getRootNode().getNode(TEST_NODE);
ntFile = testNode.getNode(TEST_NTFILE);
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/export/ExportWorkspaceSystemViewTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/export/ExportWorkspaceSystemViewTest.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/export/ExportWorkspaceSystemViewTest.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -56,7 +56,7 @@
sessionWS1.save();
// 1-st export
- File f1 = new File("target/1.xml");
+ File f1 = PrivilegedFileHelper.file("target/1.xml");
sessionWS1.exportWorkspaceSystemView(PrivilegedFileHelper.fileOutputStream(f1), false, false);
// 1-st import
@@ -77,7 +77,7 @@
{
// 2-st export
SessionImpl back1 = (SessionImpl)repository.login(credentials, "ws1_restore_1");
- File f2 = new File("target/2.xml");
+ File f2 = PrivilegedFileHelper.file("target/2.xml");
back1.exportWorkspaceSystemView(PrivilegedFileHelper.fileOutputStream(f2), false, false);
// 2-st import
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/version/FileRestoreTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/version/FileRestoreTest.java 2010-06-14 07:38:11 UTC (rev 2563)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/version/FileRestoreTest.java 2010-06-14 08:17:58 UTC (rev 2564)
@@ -76,7 +76,7 @@
Node file = root.addNode("nt_file_node", "nt:file");
Node contentNode = file.addNode("jcr:content", "nt:resource");
- contentNode.setProperty("jcr:data", new FileInputStream(tempFile));
+ contentNode.setProperty("jcr:data", PrivilegedFileHelper.fileInputStream(tempFile));
contentNode.setProperty("jcr:mimeType", "text/plain");
contentNode.setProperty("jcr:lastModified", session.getValueFactory().createValue(Calendar.getInstance()));
file.addMixin("mix:versionable");
@@ -86,37 +86,37 @@
file.checkin(); // v1
file.checkout(); // file.getNode("jcr:content").getProperty("jcr:data").getStream()
- file.getNode("jcr:content").setProperty("jcr:data", new FileInputStream(tempFile2));
+ file.getNode("jcr:content").setProperty("jcr:data", PrivilegedFileHelper.fileInputStream(tempFile2));
session.save();
log
.info("ADD VERSION #2 : file size = " + contentNode.getProperty("jcr:data").getStream().available() + " bytes");
- compareStream(new FileInputStream(tempFile2), contentNode.getProperty("jcr:data").getStream());
+ compareStream(PrivilegedFileHelper.fileInputStream(tempFile2), contentNode.getProperty("jcr:data").getStream());
file.checkin(); // v2
file.checkout();
- file.getNode("jcr:content").setProperty("jcr:data", new FileInputStream(tempFile3));
+ file.getNode("jcr:content").setProperty("jcr:data", PrivilegedFileHelper.fileInputStream(tempFile3));
session.save();
log
.info("ADD VERSION #3 : file size = " + contentNode.getProperty("jcr:data").getStream().available() + " bytes");
- compareStream(new FileInputStream(tempFile3), contentNode.getProperty("jcr:data").getStream());
+ compareStream(PrivilegedFileHelper.fileInputStream(tempFile3), contentNode.getProperty("jcr:data").getStream());
// restore version v2
Version v2 = file.getBaseVersion();
file.restore(v2, true);
- compareStream(new FileInputStream(tempFile2), contentNode.getProperty("jcr:data").getStream());
+ compareStream(PrivilegedFileHelper.fileInputStream(tempFile2), contentNode.getProperty("jcr:data").getStream());
// restore version v1
Version v1 = file.getBaseVersion().getPredecessors()[0];
file.restore(v1, true); // HERE
- compareStream(new FileInputStream(tempFile), contentNode.getProperty("jcr:data").getStream());
+ compareStream(PrivilegedFileHelper.fileInputStream(tempFile), contentNode.getProperty("jcr:data").getStream());
// restore version v2 again
file.restore(v2, true);
- compareStream(new FileInputStream(tempFile2), file.getNode("jcr:content").getProperty("jcr:data").getStream());
+ compareStream(PrivilegedFileHelper.fileInputStream(tempFile2), file.getNode("jcr:content").getProperty("jcr:data").getStream());
}
}
14 years
exo-jcr SVN: r2563 - in jcr/trunk/exo.jcr.component.core/src: main/java/org/exoplatform/services/jcr/impl/config and 31 other directories.
by do-not-reply@jboss.org
Author: tolusha
Date: 2010-06-14 03:38:11 -0400 (Mon, 14 Jun 2010)
New Revision: 2563
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/WorkspaceContainer.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/config/RepositoryServiceConfigurationImpl.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/BackupWorkspaceInitializer.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SysViewWorkspaceInitializer.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ErrorLog.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/FileBasedNamespaceMappings.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/TextExtractorJob.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/EditableValueData.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataReader.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/cas/JDBCValueContentAddressStorageImpl.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileIOHelper.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileOperation.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/SecurityHelper.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/main/java/org/exoplatform/services/jcr/impl/xml/BufferedDecoder.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportDocView.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportImport.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportSysView.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/AbstractImportTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestSystemViewImport.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/cluster/BaseClusteringFunctionalTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestRestoreWorkspaceInitializer.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestSVNodeDataOptimization.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestWorkspaceRestore.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/lucene/TestFileBasedNamespaceMappings.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestByteArrayPersistedValueDataSerialization.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestCleanableFileStreamValueData.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationLogTestLoad.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationVSJavaSerializationTestLoad.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JcrImplSerializationBaseTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/MultipleDeserializationTestLoad.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestEOFException.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationVersionRestore.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/ValueStoragePluginTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestFileIOChannel.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestFileValueIO.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/TestValueFileIOHelper.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/tools/tree/generator/RandomValueNodeGenerator.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestPersistedValueData.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestTransientValueData.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestTransientValueDataSpooling.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestValueImpl.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/lab/java/TestFileLock.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestExportBigFiles.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestLoadRepo.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/perf/TestPerformance.java
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/usecases/RemoveVDTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/common/TestExportImportAmongSessions.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/export/ExportWorkspaceSystemViewTest.java
jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/version/FileRestoreTest.java
Log:
EXOJCR-756: replace new FileOutputStream on PrivilegedFileHelper.fileOutputStream()
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/RepositoryContainer.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -64,9 +64,6 @@
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
import java.util.List;
import javax.jcr.NamespaceRegistry;
@@ -621,5 +618,5 @@
ntManager.start();
}
-
+
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/WorkspaceContainer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/WorkspaceContainer.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/WorkspaceContainer.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -56,7 +56,6 @@
public WorkspaceContainer(RepositoryContainer parent, WorkspaceEntry config) throws RepositoryException,
RepositoryConfigurationException
{
-
// Before repository instantiation
super(new MX4JComponentAdapterFactory(), parent);
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/config/RepositoryServiceConfigurationImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/config/RepositoryServiceConfigurationImpl.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/config/RepositoryServiceConfigurationImpl.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -24,6 +24,7 @@
import org.exoplatform.services.jcr.config.ConfigurationPersister;
import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
import org.exoplatform.services.jcr.config.RepositoryServiceConfiguration;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.naming.InitialContextInitializer;
import org.jibx.runtime.BindingDirectory;
import org.jibx.runtime.IBindingFactory;
@@ -35,7 +36,6 @@
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -122,13 +122,14 @@
* (non-Javadoc)
* @see org.exoplatform.services.jcr.config.RepositoryServiceConfiguration#isRetainable()
*/
+ @Override
public boolean isRetainable()
{
if (configurationPersister != null)
{
return true;
}
-
+
String strfileUri = param.getValue();
URL fileURL;
try
@@ -148,6 +149,7 @@
*
* @throws RepositoryException
*/
+ @Override
public synchronized void retain() throws RepositoryException
{
try
@@ -173,7 +175,7 @@
File backUp = new File(sourceConfig.getAbsoluteFile() + "_" + format.format(new Date()));
if (!sourceConfig.renameTo(backUp))
throw new RepositoryException("Can't back up configuration on path " + sourceConfig.getAbsolutePath());
- saveStream = new FileOutputStream(sourceConfig);
+ saveStream = PrivilegedFileHelper.fileOutputStream(sourceConfig);
}
IBindingFactory bfact = BindingDirectory.getFactory(RepositoryServiceConfiguration.class);
@@ -258,7 +260,7 @@
// Will be merged extension repository configuration with configuration from persister.
if (!configExtensionPaths.isEmpty())
{
- String[] paths = (String[]) configExtensionPaths.toArray(new String[configExtensionPaths.size()]);
+ String[] paths = configExtensionPaths.toArray(new String[configExtensionPaths.size()]);
for (int i = paths.length - 1; i >= 0; i--)
{
merge(configurationService.getInputStream(paths[i]));
@@ -273,7 +275,7 @@
else
{
- String[] paths = (String[]) configExtensionPaths.toArray(new String[configExtensionPaths.size()]);
+ String[] paths = configExtensionPaths.toArray(new String[configExtensionPaths.size()]);
for (int i = paths.length - 1; i >= 0; i--)
{
// We start from the last one because as it is the one with highest priorityn
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/BackupWorkspaceInitializer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/BackupWorkspaceInitializer.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/BackupWorkspaceInitializer.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -31,17 +31,15 @@
import org.exoplatform.services.jcr.datamodel.IllegalNameException;
import org.exoplatform.services.jcr.datamodel.ItemData;
import org.exoplatform.services.jcr.datamodel.NodeData;
-import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.nodetype.NodeTypeManagerImpl;
import org.exoplatform.services.jcr.impl.core.value.ValueFactoryImpl;
-import org.exoplatform.services.jcr.impl.dataflow.TransientPropertyData;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager;
-import org.exoplatform.services.jcr.impl.dataflow.persistent.StreamPersistedValueData;
import org.exoplatform.services.jcr.impl.storage.JCRInvalidItemStateException;
import org.exoplatform.services.jcr.impl.storage.JCRItemExistsException;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.impl.util.io.SpoolFile;
import org.exoplatform.services.jcr.observation.ExtendedEvent;
@@ -77,7 +75,7 @@
private final String restoreDir;
private FileCleaner fileCleaner;
-
+
/**
* Temporary directory;
*/
@@ -101,10 +99,11 @@
throw new RepositoryException("Can't find full backup file");
else
restorePath = fullBackupPath;
-
+
this.tempDir = new File(System.getProperty("java.io.tmpdir"));
}
+ @Override
public NodeData initWorkspace() throws RepositoryException
{
@@ -383,7 +382,7 @@
byte[] buf = new byte[bufferSize];
File tempFile = SpoolFile.createTempFile("vdincb" + System.currentTimeMillis(), ".stmp", tempDir);
- FileOutputStream fos = new FileOutputStream(tempFile);
+ FileOutputStream fos = PrivilegedFileHelper.fileOutputStream(tempFile);
long readBytes = fileSize;
while (readBytes > 0)
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SysViewWorkspaceInitializer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SysViewWorkspaceInitializer.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SysViewWorkspaceInitializer.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -43,6 +43,7 @@
import org.exoplatform.services.jcr.impl.dataflow.persistent.CacheableWorkspaceDataManager;
import org.exoplatform.services.jcr.impl.util.JCRDateFormat;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.impl.util.io.SpoolFile;
import org.exoplatform.services.jcr.storage.WorkspaceDataContainer;
import org.exoplatform.services.log.ExoLogger;
@@ -118,6 +119,7 @@
return buf.length;
}
+ @Override
public void close()
{
buf = null;
@@ -182,6 +184,7 @@
this.string.append(text);
}
+ @Override
boolean isText()
{
return true;
@@ -255,7 +258,9 @@
{
if (buffer.length >= maxBufferSize)
{
- buff = new FileOutputStream(tmpFile = SpoolFile.createTempFile("jcrrestorewi", ".tmp", tempDir));
+ buff =
+ PrivilegedFileHelper.fileOutputStream(tmpFile =
+ SpoolFile.createTempFile("jcrrestorewi", ".tmp", tempDir));
}
else
{
@@ -265,7 +270,9 @@
else if (tmpFile == null && (((TempOutputStream)buff).getSize() + buffer.length) > maxBufferSize)
{
// spool to file
- FileOutputStream fout = new FileOutputStream(tmpFile = SpoolFile.createTempFile("jcrrestorewi", ".tmp", tempDir));
+ FileOutputStream fout =
+ PrivilegedFileHelper.fileOutputStream(tmpFile =
+ SpoolFile.createTempFile("jcrrestorewi", ".tmp", tempDir));
fout.write(((TempOutputStream)buff).getBuffer());
buff.close();
buff = fout; // use file
@@ -409,7 +416,7 @@
throw new RepositoryConfigurationException("Workspace (" + workspaceName
+ ") RestoreIntializer should have mandatory parameter "
+ SysViewWorkspaceInitializer.RESTORE_PATH_PARAMETER);
-
+
this.tempDir = new File(System.getProperty("java.io.tmpdir"));
}
@@ -455,7 +462,7 @@
config.getContainer().getParameterInteger(WorkspaceDataContainer.MAXBUFFERSIZE_PROP,
WorkspaceDataContainer.DEF_MAXBUFFERSIZE);
this.restorePath = restorePath;
-
+
this.tempDir = new File(System.getProperty("java.io.tmpdir"));
}
@@ -771,7 +778,7 @@
}
else
{
-
+
File pfile = propertyValue.getFile();
if (pfile != null)
{
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ErrorLog.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ErrorLog.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/ErrorLog.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -17,6 +17,7 @@
package org.exoplatform.services.jcr.impl.core.query;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -103,7 +104,7 @@
log.getParentFile().mkdirs();
log.createNewFile();
- out = new FileOutputStream(log).getChannel();
+ out = PrivilegedFileHelper.fileOutputStream(log).getChannel();
out.position(1024 * fileSize - 1);
out.write(ByteBuffer.wrap(new byte[]{0}));
out.position(0);
@@ -111,7 +112,7 @@
}
else
{
- out = new FileOutputStream(log, true).getChannel();
+ out = PrivilegedFileHelper.fileOutputStream(log, true).getChannel();
}
}
@@ -155,7 +156,7 @@
{
out.truncate(0);
out.close();
- out = new FileOutputStream(logFile).getChannel();
+ out = PrivilegedFileHelper.fileOutputStream(logFile).getChannel();
out.position(1024 * fileSize - 1);
out.write(ByteBuffer.wrap(new byte[]{0}));
out.position(0);
@@ -173,7 +174,7 @@
{
if (out == null)
{
- FileOutputStream os = new FileOutputStream(logFile, false);
+ FileOutputStream os = PrivilegedFileHelper.fileOutputStream(logFile, false);
out = os.getChannel();
}
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/FileBasedNamespaceMappings.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/FileBasedNamespaceMappings.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/FileBasedNamespaceMappings.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -16,10 +16,13 @@
*/
package org.exoplatform.services.jcr.impl.core.query.lucene;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -31,9 +34,6 @@
import javax.jcr.NamespaceException;
import javax.jcr.RepositoryException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
/**
* The class <code>NamespaceMappings</code> implements a
* {@link NamespaceResolver} that holds a namespace
@@ -44,148 +44,169 @@
* prefix is created on the fly and associated with the namespace. Known
* namespace mappings are stored in a properties file.
*/
-public class FileBasedNamespaceMappings extends AbstractNamespaceMappings {
+public class FileBasedNamespaceMappings extends AbstractNamespaceMappings
+{
- /**
- * Default logger instance for this class
- */
- private static Logger log = LoggerFactory.getLogger("exo.jcr.component.core.NamespaceMappings");
+ /**
+ * Default logger instance for this class
+ */
+ private static Logger log = LoggerFactory.getLogger("exo.jcr.component.core.NamespaceMappings");
- /**
- * Location of the file that persists the uri / prefix mappings
- */
- private final File storage;
+ /**
+ * Location of the file that persists the uri / prefix mappings
+ */
+ private final File storage;
- /**
- * Map of uris indexed by prefixes
- */
- private Map prefixToURI = new HashMap();
+ /**
+ * Map of uris indexed by prefixes
+ */
+ private Map prefixToURI = new HashMap();
- /**
- * Map of prefixes indexed by uris
- */
- private Map uriToPrefix = new HashMap();
+ /**
+ * Map of prefixes indexed by uris
+ */
+ private Map uriToPrefix = new HashMap();
- /**
- * Current prefix count.
- */
- private int prefixCount;
+ /**
+ * Current prefix count.
+ */
+ private int prefixCount;
- /**
- * Creates <code>NamespaceMappings</code> instance. Initial mappings are
- * loaded from <code>file</code>.
- *
- * @param file the <code>File</code> to load initial mappings.
- * @throws IOException if an error occurs while reading initial namespace
- * mappings from <code>file</code>.
- */
- public FileBasedNamespaceMappings(File file) throws IOException {
- storage = file;
- load();
- }
+ /**
+ * Creates <code>NamespaceMappings</code> instance. Initial mappings are
+ * loaded from <code>file</code>.
+ *
+ * @param file the <code>File</code> to load initial mappings.
+ * @throws IOException if an error occurs while reading initial namespace
+ * mappings from <code>file</code>.
+ */
+ public FileBasedNamespaceMappings(File file) throws IOException
+ {
+ storage = file;
+ load();
+ }
- /**
- * Returns a namespace uri for a <code>prefix</code>.
- *
- * @param prefix the namespace prefix.
- * @return the namespace uri.
- * @throws NamespaceException if no namespace uri is registered for
- * <code>prefix</code>.
- */
- public synchronized String getNamespaceURIByPrefix(String prefix) throws NamespaceException {
- if (!prefixToURI.containsKey(prefix)) {
- throw new NamespaceException(prefix + ": is not a registered namespace prefix.");
- }
- return (String) prefixToURI.get(prefix);
- }
+ /**
+ * Returns a namespace uri for a <code>prefix</code>.
+ *
+ * @param prefix the namespace prefix.
+ * @return the namespace uri.
+ * @throws NamespaceException if no namespace uri is registered for
+ * <code>prefix</code>.
+ */
+ public synchronized String getNamespaceURIByPrefix(String prefix) throws NamespaceException
+ {
+ if (!prefixToURI.containsKey(prefix))
+ {
+ throw new NamespaceException(prefix + ": is not a registered namespace prefix.");
+ }
+ return (String)prefixToURI.get(prefix);
+ }
- /**
- * Returns a prefix for the namespace <code>uri</code>. If a namespace
- * mapping exists, the already known prefix is returned; otherwise a new
- * prefix is created and assigned to the namespace uri.
- *
- * @param uri the namespace uri.
- * @return the prefix for the namespace uri.
- * @throws NamespaceException if an yet unknown namespace uri / prefix
- * mapping could not be stored.
- */
- public synchronized String getNamespacePrefixByURI(String uri) throws NamespaceException {
- String prefix = (String) uriToPrefix.get(uri);
- if (prefix == null) {
- // make sure prefix is not taken
- while (prefixToURI.get(String.valueOf(prefixCount)) != null) {
- prefixCount++;
- }
- prefix = String.valueOf(prefixCount);
- prefixToURI.put(prefix, uri);
- uriToPrefix.put(uri, prefix);
- log.debug("adding new namespace mapping: " + prefix + " -> " + uri);
- try {
- store();
- } catch (IOException e) {
- throw new NamespaceException("Could not obtain a prefix for uri: " + uri, e);
- }
- }
- return prefix;
- }
+ /**
+ * Returns a prefix for the namespace <code>uri</code>. If a namespace
+ * mapping exists, the already known prefix is returned; otherwise a new
+ * prefix is created and assigned to the namespace uri.
+ *
+ * @param uri the namespace uri.
+ * @return the prefix for the namespace uri.
+ * @throws NamespaceException if an yet unknown namespace uri / prefix
+ * mapping could not be stored.
+ */
+ public synchronized String getNamespacePrefixByURI(String uri) throws NamespaceException
+ {
+ String prefix = (String)uriToPrefix.get(uri);
+ if (prefix == null)
+ {
+ // make sure prefix is not taken
+ while (prefixToURI.get(String.valueOf(prefixCount)) != null)
+ {
+ prefixCount++;
+ }
+ prefix = String.valueOf(prefixCount);
+ prefixToURI.put(prefix, uri);
+ uriToPrefix.put(uri, prefix);
+ log.debug("adding new namespace mapping: " + prefix + " -> " + uri);
+ try
+ {
+ store();
+ }
+ catch (IOException e)
+ {
+ throw new NamespaceException("Could not obtain a prefix for uri: " + uri, e);
+ }
+ }
+ return prefix;
+ }
- //-----------------------< internal >---------------------------------------
+ //-----------------------< internal >---------------------------------------
- /**
- * Loads currently known mappings from a .properties file.
- *
- * @throws IOException if an error occurs while reading from the file.
- */
- private void load() throws IOException {
- if (storage.exists()) {
- InputStream in = new FileInputStream(storage);
- try {
- Properties props = new Properties();
- log.debug("loading namespace mappings...");
- props.load(in);
+ /**
+ * Loads currently known mappings from a .properties file.
+ *
+ * @throws IOException if an error occurs while reading from the file.
+ */
+ private void load() throws IOException
+ {
+ if (storage.exists())
+ {
+ InputStream in = new FileInputStream(storage);
+ try
+ {
+ Properties props = new Properties();
+ log.debug("loading namespace mappings...");
+ props.load(in);
- // read mappings from properties
- Iterator iter = props.keySet().iterator();
- while (iter.hasNext()) {
- String prefix = (String) iter.next();
- String uri = props.getProperty(prefix);
- log.debug(prefix + " -> " + uri);
- prefixToURI.put(prefix, uri);
- uriToPrefix.put(uri, prefix);
- }
- prefixCount = props.size();
- log.debug("namespace mappings loaded.");
- } finally {
- in.close();
+ // read mappings from properties
+ Iterator iter = props.keySet().iterator();
+ while (iter.hasNext())
+ {
+ String prefix = (String)iter.next();
+ String uri = props.getProperty(prefix);
+ log.debug(prefix + " -> " + uri);
+ prefixToURI.put(prefix, uri);
+ uriToPrefix.put(uri, prefix);
}
- }
- }
+ prefixCount = props.size();
+ log.debug("namespace mappings loaded.");
+ }
+ finally
+ {
+ in.close();
+ }
+ }
+ }
- /**
- * Writes the currently known mappings into a .properties file.
- *
- * @throws IOException if an error occurs while writing the file.
- */
- private void store() throws IOException {
- Properties props = new Properties();
+ /**
+ * Writes the currently known mappings into a .properties file.
+ *
+ * @throws IOException if an error occurs while writing the file.
+ */
+ private void store() throws IOException
+ {
+ Properties props = new Properties();
- // store mappings in properties
- Iterator iter = prefixToURI.keySet().iterator();
- while (iter.hasNext()) {
- String prefix = (String) iter.next();
- String uri = (String) prefixToURI.get(prefix);
- props.setProperty(prefix, uri);
- }
+ // store mappings in properties
+ Iterator iter = prefixToURI.keySet().iterator();
+ while (iter.hasNext())
+ {
+ String prefix = (String)iter.next();
+ String uri = (String)prefixToURI.get(prefix);
+ props.setProperty(prefix, uri);
+ }
- OutputStream out = new FileOutputStream(storage);
- try {
- out = new BufferedOutputStream(out);
- props.store(out, null);
- } finally {
- // make sure stream is closed
- out.close();
- }
- }
+ OutputStream out = PrivilegedFileHelper.fileOutputStream(storage);
+ try
+ {
+ out = new BufferedOutputStream(out);
+ props.store(out, null);
+ }
+ finally
+ {
+ // make sure stream is closed
+ out.close();
+ }
+ }
public String[] getAllNamespacePrefixes() throws RepositoryException
{
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/TextExtractorJob.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/TextExtractorJob.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/query/lucene/TextExtractorJob.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -20,12 +20,12 @@
import EDU.oswego.cs.dl.util.concurrent.FutureResult;
import org.exoplatform.services.document.DocumentReader;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.BufferedWriter;
import java.io.File;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -173,6 +173,7 @@
/**
* @return a String description for this job with the mime type.
*/
+ @Override
public String toString()
{
return "TextExtractorJob for " + type;
@@ -213,7 +214,7 @@
Writer out;
try
{
- out = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(temp), ENCODING_UTF8));
+ out = new BufferedWriter(new OutputStreamWriter(PrivilegedFileHelper.fileOutputStream(temp), ENCODING_UTF8));
}
catch (IOException e)
{
@@ -242,6 +243,7 @@
return new InputStreamReader(in, ENCODING_UTF8)
{
+ @Override
public void close() throws IOException
{
super.close();
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/EditableValueData.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/EditableValueData.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/EditableValueData.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -19,6 +19,7 @@
package org.exoplatform.services.jcr.impl.dataflow;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.impl.util.io.SpoolFile;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -26,7 +27,6 @@
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -125,7 +125,7 @@
this.maxIOBuffSize = calcMaxIOSize();
SpoolFile sf = SpoolFile.createTempFile("jcrvdedit", null, tempDirectory);
- OutputStream sfout = new FileOutputStream(sf);
+ OutputStream sfout = PrivilegedFileHelper.fileOutputStream(sf);
try
{
byte[] tmpBuff = new byte[2048];
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -480,7 +480,7 @@
{
SpoolFile sf = SpoolFile.createTempFile("jcrvd", null, tempDirectory);
sf.acquire(this);
- sfout = new FileOutputStream(sf);
+ sfout = PrivilegedFileHelper.fileOutputStream(sf);
while ((read = tmpStream.read(tmpBuff)) >= 0)
sfout.write(tmpBuff, 0, read);
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataReader.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataReader.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/serialization/PersistedValueDataReader.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -23,9 +23,9 @@
import org.exoplatform.services.jcr.dataflow.serialization.UnknownClassIdException;
import org.exoplatform.services.jcr.impl.dataflow.AbstractPersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.ByteArrayPersistedValueData;
-import org.exoplatform.services.jcr.impl.dataflow.persistent.FilePersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.StreamPersistedValueData;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.impl.util.io.SpoolFile;
import java.io.File;
@@ -145,7 +145,7 @@
private void writeToFile(ObjectReader src, SpoolFile dest, long length) throws IOException
{
// write data to file
- FileOutputStream sfout = new FileOutputStream(dest);
+ FileOutputStream sfout = PrivilegedFileHelper.fileOutputStream(dest);
int bSize = SerializationConstants.INTERNAL_BUFFER_SIZE;
try
{
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/jdbc/JDBCStorageConnection.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -40,6 +40,7 @@
import org.exoplatform.services.jcr.impl.storage.value.ValueStorageNotFoundException;
import org.exoplatform.services.jcr.impl.storage.value.fs.operations.ValueFileIOHelper;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.impl.util.io.SwapFile;
import org.exoplatform.services.jcr.storage.WorkspaceStorageConnection;
import org.exoplatform.services.jcr.storage.value.ValueIOChannel;
@@ -49,7 +50,6 @@
import java.io.ByteArrayInputStream;
import java.io.File;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -82,6 +82,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public void writeStreamedValue(File file, ValueData value) throws IOException
{
super.writeStreamedValue(file, value);
@@ -716,7 +717,7 @@
if (LOG.isDebugEnabled())
{
LOG.debug("Node deleted " + data.getQPath().getAsString() + ", " + data.getIdentifier() + ", "
- + ((NodeData)data).getPrimaryTypeName().getAsString());
+ + (data).getPrimaryTypeName().getAsString());
}
}
@@ -758,12 +759,8 @@
if (LOG.isDebugEnabled())
{
- LOG.debug("Property deleted "
- + data.getQPath().getAsString()
- + ", "
- + data.getIdentifier()
- + (((PropertyData)data).getValues() != null ? ", values count: "
- + ((PropertyData)data).getValues().size() : ", NULL data"));
+ LOG.debug("Property deleted " + data.getQPath().getAsString() + ", " + data.getIdentifier()
+ + ((data).getValues() != null ? ", values count: " + (data).getValues().size() : ", NULL data"));
}
}
@@ -2313,7 +2310,7 @@
buffer = null;
break;
}
- out = new FileOutputStream(swapFile);
+ out = PrivilegedFileHelper.fileOutputStream(swapFile);
out.write(buffer, 0, len);
out.write(spoolBuffer, 0, read);
buffer = null;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/cas/JDBCValueContentAddressStorageImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/cas/JDBCValueContentAddressStorageImpl.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/cas/JDBCValueContentAddressStorageImpl.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -24,6 +24,9 @@
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
+import java.security.AccessController;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.PreparedStatement;
@@ -98,17 +101,16 @@
*/
private static final String DB2_PK_CONSTRAINT_DETECT_PATTERN =
"(.*DB2 SQL error+.*SQLCODE: -803+.*SQLSTATE: 23505+.*%s.*)+?";
-
+
/**
* MYSQL_PK_CONSTRAINT_DETECT_PATTERN.
*/
- private static final String H2_PK_CONSTRAINT_DETECT_PATTERN =
- "(.*JdbcSQLException.*violation.*PRIMARY_KEY_.*)";
-
+ private static final String H2_PK_CONSTRAINT_DETECT_PATTERN = "(.*JdbcSQLException.*violation.*PRIMARY_KEY_.*)";
+
/**
* H2_PK_CONSTRAINT_DETECT.
*/
- private static final Pattern H2_PK_CONSTRAINT_DETECT =
+ private static final Pattern H2_PK_CONSTRAINT_DETECT =
Pattern.compile(H2_PK_CONSTRAINT_DETECT_PATTERN, Pattern.CASE_INSENSITIVE);
/**
@@ -158,7 +160,34 @@
Statement st = null;
try
{
- conn = dataSource.getConnection();
+ PrivilegedExceptionAction<Object> action = new PrivilegedExceptionAction<Object>()
+ {
+ public Object run() throws Exception
+ {
+ return dataSource.getConnection();
+ }
+ };
+ try
+ {
+ conn = (Connection)AccessController.doPrivileged(action);
+ }
+ catch (PrivilegedActionException pae)
+ {
+ Throwable cause = pae.getCause();
+ if (cause instanceof SQLException)
+ {
+ throw (SQLException)cause;
+ }
+ else if (cause instanceof RuntimeException)
+ {
+ throw (RuntimeException)cause;
+ }
+ else
+ {
+ throw new RuntimeException(cause);
+ }
+ }
+
DatabaseMetaData dbMetaData = conn.getMetaData();
String dialect = props.getProperty(JDBC_DIALECT_PARAM);
@@ -352,7 +381,7 @@
{
return DB2_PK_CONSTRAINT_DETECT.matcher(err).find();
}
- else if (DBConstants.DB_DIALECT_H2.equalsIgnoreCase(dialect))
+ else if (DBConstants.DB_DIALECT_H2.equalsIgnoreCase(dialect))
{
return H2_PK_CONSTRAINT_DETECT.matcher(err).find();
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileIOHelper.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileIOHelper.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileIOHelper.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -22,6 +22,7 @@
import org.exoplatform.services.jcr.impl.dataflow.persistent.ByteArrayPersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.FilePersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.StreamPersistedValueData;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -171,7 +172,7 @@
{
public Object run() throws Exception
{
- OutputStream out = new FileOutputStream(file);
+ OutputStream out = PrivilegedFileHelper.fileOutputStream(file);
try
{
out.write(value.getAsByteArray());
@@ -231,7 +232,7 @@
if (streamed.isPersisted())
{
// already persisted in another Value, copy it to this Value
- copyClose(streamed.getAsStream(), new FileOutputStream(file));
+ copyClose(streamed.getAsStream(), PrivilegedFileHelper.fileOutputStream(file));
}
else
{
@@ -250,13 +251,13 @@
+ tempFile.getAbsolutePath() + ". Destination: " + file.getAbsolutePath());
}
- copyClose(new FileInputStream(tempFile), new FileOutputStream(file));
+ copyClose(new FileInputStream(tempFile), PrivilegedFileHelper.fileOutputStream(file));
}
}
else
{
// not spooled, use client InputStream
- copyClose(streamed.getStream(), new FileOutputStream(file));
+ copyClose(streamed.getStream(), PrivilegedFileHelper.fileOutputStream(file));
}
// link this Value to file in VS
@@ -266,7 +267,7 @@
else
{
// copy from Value stream to the file, e.g. from FilePersistedValueData to this Value
- copyClose(value.getAsStream(), new FileOutputStream(file));
+ copyClose(value.getAsStream(), PrivilegedFileHelper.fileOutputStream(file));
}
return null;
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileOperation.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileOperation.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileOperation.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -132,7 +132,7 @@
// lock file in temp directory
lockFile = new File(tempDir, targetFile.getName() + LOCK_FILE_EXTENSION);
- FileOutputStream lout = new FileOutputStream(lockFile, true);
+ FileOutputStream lout = PrivilegedFileHelper.fileOutputStream(lockFile, true);
lout.write(operationInfo.getBytes()); // TODO write info
lout.getChannel().lock(); // wait for unlock (on Windows will wait for this JVM too)
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/SecurityHelper.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/SecurityHelper.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/SecurityHelper.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -92,4 +92,5 @@
}
}
}
+
}
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-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/PrivilegedFileHelper.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -39,16 +39,16 @@
public static FileOutputStream fileOutputStream(final File file) throws FileNotFoundException
{
- PrivilegedExceptionAction<Object> action = new PrivilegedExceptionAction<Object>()
+ PrivilegedExceptionAction<FileOutputStream> action = new PrivilegedExceptionAction<FileOutputStream>()
{
- public Object run() throws Exception
+ public FileOutputStream run() throws Exception
{
return new FileOutputStream(file);
}
};
try
{
- return (FileOutputStream)AccessController.doPrivileged(action);
+ return AccessController.doPrivileged(action);
}
catch (PrivilegedActionException pae)
{
@@ -68,18 +68,80 @@
}
}
+ public static FileOutputStream fileOutputStream(final String name) throws FileNotFoundException
+ {
+ PrivilegedExceptionAction<FileOutputStream> action = new PrivilegedExceptionAction<FileOutputStream>()
+ {
+ public FileOutputStream run() throws Exception
+ {
+ return new FileOutputStream(name);
+ }
+ };
+ try
+ {
+ return AccessController.doPrivileged(action);
+ }
+ catch (PrivilegedActionException pae)
+ {
+ Throwable cause = pae.getCause();
+ if (cause instanceof FileNotFoundException)
+ {
+ throw (FileNotFoundException)cause;
+ }
+ else if (cause instanceof RuntimeException)
+ {
+ throw (RuntimeException)cause;
+ }
+ else
+ {
+ throw new RuntimeException(cause);
+ }
+ }
+ }
+
+ public static FileOutputStream fileOutputStream(final File file, final boolean append) throws FileNotFoundException
+ {
+ PrivilegedExceptionAction<FileOutputStream> action = new PrivilegedExceptionAction<FileOutputStream>()
+ {
+ public FileOutputStream run() throws Exception
+ {
+ return new FileOutputStream(file, append);
+ }
+ };
+ try
+ {
+ return AccessController.doPrivileged(action);
+ }
+ catch (PrivilegedActionException pae)
+ {
+ Throwable cause = pae.getCause();
+ if (cause instanceof FileNotFoundException)
+ {
+ throw (FileNotFoundException)cause;
+ }
+ else if (cause instanceof RuntimeException)
+ {
+ throw (RuntimeException)cause;
+ }
+ else
+ {
+ throw new RuntimeException(cause);
+ }
+ }
+ }
+
public static FileInputStream fileInputStream(final File file) throws FileNotFoundException
{
- PrivilegedExceptionAction<Object> action = new PrivilegedExceptionAction<Object>()
+ PrivilegedExceptionAction<FileInputStream> action = new PrivilegedExceptionAction<FileInputStream>()
{
- public Object run() throws Exception
+ public FileInputStream run() throws Exception
{
return new FileInputStream(file);
}
};
try
{
- return (FileInputStream)AccessController.doPrivileged(action);
+ return AccessController.doPrivileged(action);
}
catch (PrivilegedActionException pae)
{
@@ -102,16 +164,16 @@
public static File createTempFile(final String prefix, final String suffix, final File directory)
throws IllegalArgumentException, IOException
{
- PrivilegedExceptionAction<Object> action = new PrivilegedExceptionAction<Object>()
+ PrivilegedExceptionAction<File> action = new PrivilegedExceptionAction<File>()
{
- public Object run() throws Exception
+ public File run() throws Exception
{
return File.createTempFile(prefix, suffix, directory);
}
};
try
{
- return (File)AccessController.doPrivileged(action);
+ return AccessController.doPrivileged(action);
}
catch (PrivilegedActionException pae)
{
@@ -138,16 +200,16 @@
public static File createTempFile(final String prefix, final String suffix) throws IllegalArgumentException,
IOException
{
- PrivilegedExceptionAction<Object> action = new PrivilegedExceptionAction<Object>()
+ PrivilegedExceptionAction<File> action = new PrivilegedExceptionAction<File>()
{
- public Object run() throws Exception
+ public File run() throws Exception
{
return File.createTempFile(prefix, suffix);
}
};
try
{
- return (File)AccessController.doPrivileged(action);
+ return AccessController.doPrivileged(action);
}
catch (PrivilegedActionException pae)
{
@@ -173,14 +235,14 @@
public static long length(final File file)
{
- PrivilegedAction<Object> action = new PrivilegedAction<Object>()
+ PrivilegedAction<Long> action = new PrivilegedAction<Long>()
{
- public Object run()
+ public Long run()
{
return new Long(file.length());
}
};
- return (Long)AccessController.doPrivileged(action);
+ return AccessController.doPrivileged(action);
}
public static void deleteOnExit(final File file)
@@ -198,38 +260,38 @@
public static String getAbsolutePath(final File file)
{
- PrivilegedAction<Object> action = new PrivilegedAction<Object>()
+ PrivilegedAction<String> action = new PrivilegedAction<String>()
{
- public Object run()
+ public String run()
{
return file.getAbsolutePath();
}
};
- return (String)AccessController.doPrivileged(action);
+ return AccessController.doPrivileged(action);
}
public static boolean delete(final File file)
{
- PrivilegedAction<Object> action = new PrivilegedAction<Object>()
+ PrivilegedAction<Boolean> action = new PrivilegedAction<Boolean>()
{
- public Object run()
+ public Boolean run()
{
return file.delete();
}
};
- return (Boolean)AccessController.doPrivileged(action);
+ return AccessController.doPrivileged(action);
}
public static boolean exists(final File file)
{
- PrivilegedAction<Object> action = new PrivilegedAction<Object>()
+ PrivilegedAction<Boolean> action = new PrivilegedAction<Boolean>()
{
- public Object run()
+ public Boolean run()
{
return file.exists();
}
};
- return (Boolean)AccessController.doPrivileged(action);
+ return AccessController.doPrivileged(action);
}
public static void mkdirs(final File file)
@@ -247,37 +309,37 @@
public static boolean renameTo(final File srcFile, final File dstfile)
{
- PrivilegedAction<Object> action = new PrivilegedAction<Object>()
+ PrivilegedAction<Boolean> action = new PrivilegedAction<Boolean>()
{
- public Object run()
+ public Boolean run()
{
return new Boolean(srcFile.renameTo(dstfile));
}
};
- return (Boolean)AccessController.doPrivileged(action);
+ return AccessController.doPrivileged(action);
}
public static File file(final String pathname)
{
- PrivilegedAction<Object> action = new PrivilegedAction<Object>()
+ PrivilegedAction<File> action = new PrivilegedAction<File>()
{
- public Object run()
+ public File run()
{
return new File(pathname);
}
};
- return (File)AccessController.doPrivileged(action);
+ return AccessController.doPrivileged(action);
}
public static String[] list(final File file)
{
- PrivilegedAction<Object> action = new PrivilegedAction<Object>()
+ PrivilegedAction<String[]> action = new PrivilegedAction<String[]>()
{
- public Object run()
+ public String[] run()
{
return file.list();
}
};
- return (String[])AccessController.doPrivileged(action);
+ return AccessController.doPrivileged(action);
}
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/BufferedDecoder.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/BufferedDecoder.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/xml/BufferedDecoder.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -19,6 +19,7 @@
package org.exoplatform.services.jcr.impl.xml;
import org.apache.ws.commons.util.Base64;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
@@ -26,7 +27,6 @@
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -129,6 +129,7 @@
/**
* @return string representation for buffer
*/
+ @Override
public String toString()
{
if (out instanceof ByteArrayOutputStream)
@@ -178,7 +179,7 @@
byte[] data = ((ByteArrayOutputStream)out).toByteArray();
fileBuffer = File.createTempFile("decoderBuffer", ".tmp");
fileBuffer.deleteOnExit();
- out = new BufferedOutputStream(new FileOutputStream(fileBuffer), bufferSize);
+ out = new BufferedOutputStream(PrivilegedFileHelper.fileOutputStream(fileBuffer), bufferSize);
out.write(data);
}
@@ -195,6 +196,7 @@
* @exception IOException
* if an I/O error occurs.
*/
+ @Override
protected void writeBuffer(byte[] buffer, int start, int length) throws IOException
{
if (out instanceof ByteArrayOutputStream)
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportDocView.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportDocView.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportDocView.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -22,6 +22,7 @@
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.core.value.BinaryValue;
import org.exoplatform.services.jcr.impl.util.StringConverter;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.w3c.dom.Document;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.NodeList;
@@ -30,7 +31,6 @@
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Calendar;
@@ -69,6 +69,7 @@
super();
}
+ @Override
public void initRepository() throws RepositoryException
{
@@ -93,6 +94,7 @@
}
+ @Override
public void tearDown() throws Exception
{
log.debug(">> get rootNode on TD START");
@@ -182,7 +184,7 @@
session.save();
File destFile = File.createTempFile("multyValueExportStream", ".xml");
destFile.deleteOnExit();
- OutputStream outStream = new FileOutputStream(destFile);
+ OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
session.exportDocumentView(testNode.getPath(), outStream, false, false);
outStream.close();
@@ -253,7 +255,7 @@
session.save();
File destFile = File.createTempFile("multyValueExportStream", ".xml");
destFile.deleteOnExit();
- OutputStream outStream = new FileOutputStream(destFile);
+ OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
SAXTransformerFactory saxFact = (SAXTransformerFactory)SAXTransformerFactory.newInstance();
TransformerHandler handler = saxFact.newTransformerHandler();
@@ -333,7 +335,7 @@
File destFile = File.createTempFile("docLockNodeExport", ".xml");
destFile.deleteOnExit();
- OutputStream outStream = new FileOutputStream(destFile);
+ OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
session.exportDocumentView(firstNode.getPath(), outStream, false, false);
outStream.close();
@@ -352,9 +354,9 @@
{
Session newSession = repository.login(this.credentials /*
- * session.getCredentials
- * ()
- */);
+ * session.getCredentials
+ * ()
+ */);
newSession.setNamespacePrefix("newjcr", "http://www.jcp.org/jcr/1.0");
@@ -381,9 +383,9 @@
{
Session newSession = repository.login(this.credentials /*
- * session.getCredentials
- * ()
- */);
+ * session.getCredentials
+ * ()
+ */);
newSession.setNamespacePrefix("newjcr", "http://www.jcp.org/jcr/1.0");
Node testNode = newSession.getRootNode().addNode("jcr:testExportNamespaceRemaping");
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportImport.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportImport.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportImport.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -18,11 +18,11 @@
*/
package org.exoplatform.services.jcr.api.exporting;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.xml.sax.SAXException;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Calendar;
@@ -66,7 +66,7 @@
session.save();
File destFile = File.createTempFile("testWorkspaceExportImportValuesSysView", ".xml");
destFile.deleteOnExit();
- OutputStream outStream = new FileOutputStream(destFile);
+ OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
session.exportWorkspaceSystemView(outStream, false, false);
outStream.close();
@@ -119,7 +119,7 @@
File destFile = File.createTempFile("testExportImportValuesSysView", ".xml");
destFile.deleteOnExit();
- OutputStream outStream = new FileOutputStream(destFile);
+ OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
session.exportSystemView(file.getPath(), outStream, false, false);
outStream.close();
@@ -143,7 +143,7 @@
session.save();
File destFile = File.createTempFile("testExportImportValuesSysView", ".xml");
destFile.deleteOnExit();
- OutputStream outStream = new FileOutputStream(destFile);
+ OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
session.exportSystemView(testNode.getPath(), outStream, false, false);
outStream.close();
@@ -358,7 +358,7 @@
Node exportNode = parentNode.getNode(nodeName);
File destFile = File.createTempFile("testExportImport", ".xml");
destFile.deleteOnExit();
- OutputStream outStream = new FileOutputStream(destFile);
+ OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
if (isSystemView)
{
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportSysView.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportSysView.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/exporting/TestExportSysView.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -21,6 +21,7 @@
import org.apache.ws.commons.util.Base64;
import org.exoplatform.services.jcr.impl.Constants;
import org.exoplatform.services.jcr.impl.util.StringConverter;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.w3c.dom.Document;
import org.w3c.dom.NodeList;
import org.xml.sax.SAXException;
@@ -28,7 +29,6 @@
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Calendar;
@@ -170,7 +170,7 @@
session.save();
File destFile = File.createTempFile("testExportReferenceableNodes", ".xml");
destFile.deleteOnExit();
- OutputStream outStream = new FileOutputStream(destFile);
+ OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
session.exportSystemView(testNode.getPath(), outStream, false, false);
outStream.close();
@@ -219,7 +219,7 @@
File destFile = File.createTempFile("sysLockNodeExport", ".xml");
destFile.deleteOnExit();
- OutputStream outStream = new FileOutputStream(destFile);
+ OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
session.exportSystemView(firstNode.getPath(), outStream, false, false);
outStream.close();
@@ -254,7 +254,7 @@
session.save();
File destFile = File.createTempFile("xmlTest", ".xml");
- OutputStream outputStream2 = new FileOutputStream(destFile);
+ OutputStream outputStream2 = PrivilegedFileHelper.fileOutputStream(destFile);
SAXTransformerFactory saxFact = (SAXTransformerFactory)TransformerFactory.newInstance();
TransformerHandler handler = saxFact.newTransformerHandler();
@@ -315,7 +315,7 @@
session.save();
File destFile = File.createTempFile("sysMultyValueExportStream", ".xml");
destFile.deleteOnExit();
- OutputStream outStream = new FileOutputStream(destFile);
+ OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
session.exportSystemView(testNode.getPath(), outStream, false, false);
outStream.close();
@@ -369,7 +369,7 @@
session.save();
File destFile = File.createTempFile("multyValueExportStreamSkipBinary", ".xml");
destFile.deleteOnExit();
- OutputStream outStream = new FileOutputStream(destFile);
+ OutputStream outStream = PrivilegedFileHelper.fileOutputStream(destFile);
session.exportSystemView(testNode.getPath(), outStream, true, false);
outStream.close();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/AbstractImportTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/AbstractImportTest.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/AbstractImportTest.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -22,6 +22,7 @@
import org.exoplatform.services.jcr.core.ExtendedSession;
import org.exoplatform.services.jcr.core.ExtendedWorkspace;
import org.exoplatform.services.jcr.impl.core.nodetype.NodeTypeManagerImpl;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.util.IdGenerator;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -326,7 +327,7 @@
{
ExtendedSession extendedSession = (ExtendedSession)rootNode.getSession();
- OutputStream outStream = new FileOutputStream(content);
+ OutputStream outStream = PrivilegedFileHelper.fileOutputStream(content);
if (isSystemView)
{
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestSystemViewImport.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestSystemViewImport.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/api/importing/TestSystemViewImport.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -20,6 +20,7 @@
import org.exoplatform.services.ext.action.InvocationContext;
import org.exoplatform.services.jcr.core.ExtendedSession;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.impl.xml.importing.ContentImporter;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -252,7 +253,7 @@
File tmp = File.createTempFile("__exojcr_TestSysView__", ".tmp");
- OutputStream xmlOut = new FileOutputStream(tmp);
+ OutputStream xmlOut = PrivilegedFileHelper.fileOutputStream(tmp);
sysview.getSession().exportSystemView(ref.getPath(), xmlOut, false, false);
xmlOut.close();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/cluster/BaseClusteringFunctionalTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/cluster/BaseClusteringFunctionalTest.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/cluster/BaseClusteringFunctionalTest.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -19,6 +19,7 @@
import junit.framework.TestCase;
import org.exoplatform.services.jcr.cluster.JCRWebdavConnection;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.ByteArrayInputStream;
import java.io.File;
@@ -55,6 +56,7 @@
/**
* {@inheritDoc}
*/
+ @Override
protected void setUp() throws Exception
{
super.setUp();
@@ -79,6 +81,7 @@
/**
* {@inheritDoc}
*/
+ @Override
protected void tearDown() throws Exception
{
super.tearDown();
@@ -111,7 +114,7 @@
byte[] data = new byte[1024]; // 1Kb
File testFile = File.createTempFile(prefix, ".tmp");
- FileOutputStream tempOut = new FileOutputStream(testFile);
+ FileOutputStream tempOut = PrivilegedFileHelper.fileOutputStream(testFile);
Random random = new Random();
for (int i = 0; i < sizeInKb; i++)
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestRestoreWorkspaceInitializer.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestRestoreWorkspaceInitializer.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestRestoreWorkspaceInitializer.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -20,6 +20,7 @@
import org.exoplatform.services.jcr.JcrImplBaseTest;
import org.exoplatform.services.jcr.core.CredentialsImpl;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.io.FileInputStream;
@@ -73,7 +74,7 @@
f.renameTo(new File("./sv_export_binary.bin"));
File outf = new File("./sv_export_root.xml");
- FileOutputStream out = new FileOutputStream(outf);
+ FileOutputStream out = PrivilegedFileHelper.fileOutputStream(outf);
session.exportWorkspaceSystemView(out, false, false);
out.close();
}
@@ -97,7 +98,7 @@
{
InputStream is =
ws1root.getProperty("1_common/cargo/cargo/0.5/cargo-0.5.jar/jcr:content/jcr:data").getStream();
- FileOutputStream fout = new FileOutputStream("./cargo-0.5.jar");
+ FileOutputStream fout = PrivilegedFileHelper.fileOutputStream("./cargo-0.5.jar");
int r = -1;
byte[] b = new byte[1024];
while ((r = is.read(b)) >= 0)
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestSVNodeDataOptimization.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestSVNodeDataOptimization.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestSVNodeDataOptimization.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -32,6 +32,7 @@
import org.exoplatform.services.jcr.config.WorkspaceEntry;
import org.exoplatform.services.jcr.config.WorkspaceInitializerEntry;
import org.exoplatform.services.jcr.datamodel.NodeData;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
/**
* Created by The eXo Platform SAS.
@@ -42,15 +43,14 @@
* @author <a href="mailto:alex.reshetnyak@exoplatform.com.ua">Alex Reshetnyak</a>
* @version $Id$
*/
-public class TestSVNodeDataOptimization
- extends JcrImplBaseTest
+public class TestSVNodeDataOptimization extends JcrImplBaseTest
{
-
+
@Override
public void setUp() throws Exception
{
super.setUp();
- SessionImpl ses = (SessionImpl) repository.login(credentials, "ws1");
+ SessionImpl ses = (SessionImpl)repository.login(credentials, "ws1");
if (ses != null)
{
try
@@ -86,7 +86,7 @@
@Override
protected void tearDown() throws Exception
{
- SessionImpl ses = (SessionImpl) repository.login(credentials, "ws1");
+ SessionImpl ses = (SessionImpl)repository.login(credentials, "ws1");
if (ses != null)
{
try
@@ -124,7 +124,7 @@
{
//ADD content
- SessionImpl ses = (SessionImpl) repository.login(credentials, "ws1");
+ SessionImpl ses = (SessionImpl)repository.login(credentials, "ws1");
//Add node with sub name sibling
Node nodeSNS = ses.getRootNode().addNode("node_with_sns");
@@ -146,16 +146,16 @@
File backup = File.createTempFile("full-backup", ".xml");
backup.deleteOnExit();
- ses.exportWorkspaceSystemView(new FileOutputStream(backup), false, false);
+ ses.exportWorkspaceSystemView(PrivilegedFileHelper.fileOutputStream(backup), false, false);
// restore to ws1_restored
WorkspaceEntry ws1_restore =
- makeWorkspaceEntry("ws1_restored", isMultiDB(session) ? "jdbcjcr2export3" : "jdbcjcr", backup, ses);
+ makeWorkspaceEntry("ws1_restored", isMultiDB(session) ? "jdbcjcr2export3" : "jdbcjcr", backup, ses);
repository.configWorkspace(ws1_restore);
repository.createWorkspace(ws1_restore.getName());
// check
- SessionImpl backupSession = (SessionImpl) repository.login(credentials, "ws1_restored");
+ SessionImpl backupSession = (SessionImpl)repository.login(credentials, "ws1_restored");
assertNotNull(backupSession);
@@ -164,8 +164,8 @@
private void checkEquals(SessionImpl expected, SessionImpl actual) throws Exception
{
- NodeImpl srcNode = (NodeImpl) expected.getRootNode();
- NodeImpl destNode = (NodeImpl) actual.getRootNode();
+ NodeImpl srcNode = (NodeImpl)expected.getRootNode();
+ NodeImpl destNode = (NodeImpl)actual.getRootNode();
checkNodeEquals(srcNode, destNode);
}
@@ -174,7 +174,7 @@
{
assertTrue(dest.equals(src));
assertEquals(src.getIndex(), dest.getIndex());
- assertEquals(((NodeData) src.getData()).getOrderNumber(), ((NodeData) dest.getData()).getOrderNumber());
+ assertEquals(((NodeData)src.getData()).getOrderNumber(), ((NodeData)dest.getData()).getOrderNumber());
NodeIterator srcIterator = src.getNodes();
NodeIterator destIterator = dest.getNodes();
@@ -182,16 +182,16 @@
assertEquals(srcIterator.getSize(), destIterator.getSize());
while (srcIterator.hasNext())
- checkNodeEquals((NodeImpl) srcIterator.nextNode(), (NodeImpl) destIterator.nextNode());
+ checkNodeEquals((NodeImpl)srcIterator.nextNode(), (NodeImpl)destIterator.nextNode());
}
private WorkspaceEntry makeWorkspaceEntry(String name, String sourceName, File sysViewFile, SessionImpl ses)
{
- WorkspaceEntry ws1e = (WorkspaceEntry) ses.getContainer().getComponentInstanceOfType(WorkspaceEntry.class);
+ WorkspaceEntry ws1e = (WorkspaceEntry)ses.getContainer().getComponentInstanceOfType(WorkspaceEntry.class);
WorkspaceEntry ws1back = new WorkspaceEntry();
ws1back.setName(name);
- ws1back.setUniqueName(((RepositoryImpl) ses.getRepository()).getName() + "_" + ws1back.getName());
+ ws1back.setUniqueName(((RepositoryImpl)ses.getRepository()).getName() + "_" + ws1back.getName());
ws1back.setAccessManager(ws1e.getAccessManager());
ws1back.setAutoInitializedRootNt(ws1e.getAutoInitializedRootNt());
@@ -206,7 +206,7 @@
List<SimpleParameterEntry> wieParams = new ArrayList<SimpleParameterEntry>();
wieParams
- .add(new SimpleParameterEntry(SysViewWorkspaceInitializer.RESTORE_PATH_PARAMETER, sysViewFile.getPath()));
+ .add(new SimpleParameterEntry(SysViewWorkspaceInitializer.RESTORE_PATH_PARAMETER, sysViewFile.getPath()));
wiEntry.setParameters(wieParams);
@@ -216,14 +216,14 @@
ArrayList qParams = new ArrayList();
qParams.add(new SimpleParameterEntry("indexDir", "target" + File.separator + name));
QueryHandlerEntry qEntry =
- new QueryHandlerEntry("org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex", qParams);
+ new QueryHandlerEntry("org.exoplatform.services.jcr.impl.core.query.lucene.SearchIndex", qParams);
ws1back.setQueryHandler(qEntry);
ArrayList params = new ArrayList();
for (Iterator i = ws1back.getContainer().getParameters().iterator(); i.hasNext();)
{
- SimpleParameterEntry p = (SimpleParameterEntry) i.next();
+ SimpleParameterEntry p = (SimpleParameterEntry)i.next();
SimpleParameterEntry newp = new SimpleParameterEntry(p.getName(), p.getValue());
if (isMultiDB(ses) && newp.getName().equals("source-name"))
@@ -237,7 +237,7 @@
}
ContainerEntry ce =
- new ContainerEntry("org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer", params);
+ new ContainerEntry("org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer", params);
ws1back.setContainer(ce);
return ws1back;
@@ -245,11 +245,11 @@
private boolean isMultiDB(SessionImpl session)
{
- WorkspaceEntry ws1e = (WorkspaceEntry) session.getContainer().getComponentInstanceOfType(WorkspaceEntry.class);
+ WorkspaceEntry ws1e = (WorkspaceEntry)session.getContainer().getComponentInstanceOfType(WorkspaceEntry.class);
for (Iterator i = ws1e.getContainer().getParameters().iterator(); i.hasNext();)
{
- SimpleParameterEntry p = (SimpleParameterEntry) i.next();
+ SimpleParameterEntry p = (SimpleParameterEntry)i.next();
SimpleParameterEntry newp = new SimpleParameterEntry(p.getName(), p.getValue());
if (newp.getName().equals("multi-db"))
@@ -257,7 +257,7 @@
}
throw new RuntimeException("Can not get property 'multi-db' in configuration on workspace '" + ws1e.getName()
- + "'");
+ + "'");
}
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestWorkspaceRestore.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestWorkspaceRestore.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/TestWorkspaceRestore.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -23,6 +23,7 @@
import org.exoplatform.services.jcr.config.RepositoryConfigurationException;
import org.exoplatform.services.jcr.config.WorkspaceEntry;
import org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.util.ConfigurationHelper;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -69,7 +70,7 @@
File content = File.createTempFile("data", ".xml");
content.deleteOnExit();
- OutputStream os = new BufferedOutputStream(new FileOutputStream(content));
+ OutputStream os = new BufferedOutputStream(PrivilegedFileHelper.fileOutputStream(content));
defSession.exportSystemView(defRoot.getPath(), os, false, false);
os.close();
defSession.logout();
@@ -137,7 +138,7 @@
File content = File.createTempFile("data", ".xml");
content.deleteOnExit();
- OutputStream os = new BufferedOutputStream(new FileOutputStream(content));
+ OutputStream os = new BufferedOutputStream(PrivilegedFileHelper.fileOutputStream(content));
defSession.exportSystemView(node1.getPath(), os, false, false);
os.close();
defSession.logout();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/lucene/TestFileBasedNamespaceMappings.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/lucene/TestFileBasedNamespaceMappings.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/core/query/lucene/TestFileBasedNamespaceMappings.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -17,6 +17,8 @@
package org.exoplatform.services.jcr.impl.core.query.lucene;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
+
import junit.framework.TestCase;
import java.io.File;
@@ -49,6 +51,7 @@
assertEquals("mix", namereg.getNamespacePrefixByURI("http://www.jcp.org/jcr/mix/1.0"));
}
+ @Override
public void setUp() throws Exception
{
test_mapp = File.createTempFile("temp", "mapping");
@@ -67,12 +70,13 @@
props.setProperty("xs", "http://www.w3.org/2001/XMLSchema");
props.setProperty("fn", "http://www.w3.org/2004/10/xpath-functions");
- props.store(new FileOutputStream(test_mapp), "");
+ props.store(PrivilegedFileHelper.fileOutputStream(test_mapp), "");
props.clear();
test_mapp.deleteOnExit();
}
+ @Override
protected void tearDown() throws Exception
{
test_mapp.delete();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestByteArrayPersistedValueDataSerialization.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestByteArrayPersistedValueDataSerialization.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestByteArrayPersistedValueDataSerialization.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -25,6 +25,7 @@
import java.io.ObjectOutputStream;
import org.exoplatform.services.jcr.JcrImplBaseTest;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
/**
* Created by The eXo Platform SAS.
@@ -35,17 +36,16 @@
* @author <a href="mailto:alex.reshetnyak@exoplatform.com.ua">Alex Reshetnyak</a>
* @version $Id$
*/
-public class TestByteArrayPersistedValueDataSerialization
- extends JcrImplBaseTest
+public class TestByteArrayPersistedValueDataSerialization extends JcrImplBaseTest
{
public void testBAPVDSerialization() throws Exception
{
-
- byte []buf = new byte[124578];
-
- for (int i = 0; i< buf.length; i++)
- buf[i] = (byte) (Math.random()*256);
-
+
+ byte[] buf = new byte[124578];
+
+ for (int i = 0; i < buf.length; i++)
+ buf[i] = (byte)(Math.random() * 256);
+
// Create ValueData instants
ByteArrayPersistedValueData vd = new ByteArrayPersistedValueData(11, buf);
@@ -53,21 +53,21 @@
out.deleteOnExit();
//serialize
- ObjectOutputStream oos = new ObjectOutputStream(new FileOutputStream(out));
+ ObjectOutputStream oos = new ObjectOutputStream(PrivilegedFileHelper.fileOutputStream(out));
oos.writeObject(vd);
oos.flush();
oos.close();
//deserialize
ObjectInputStream ois = new ObjectInputStream(new FileInputStream(out));
- ByteArrayPersistedValueData deserializedValueData = (ByteArrayPersistedValueData) ois.readObject();
+ ByteArrayPersistedValueData deserializedValueData = (ByteArrayPersistedValueData)ois.readObject();
//check
assertNotNull(deserializedValueData);
assertEquals(vd.getLength(), deserializedValueData.getLength());
assertEquals(vd.getOrderNumber(), deserializedValueData.getOrderNumber());
-
+
for (int j = 0; j < vd.getAsByteArray().length; j++)
- assertEquals(vd.getAsByteArray()[j], deserializedValueData.getAsByteArray()[j]);
+ assertEquals(vd.getAsByteArray()[j], deserializedValueData.getAsByteArray()[j]);
}
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestCleanableFileStreamValueData.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestCleanableFileStreamValueData.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/persistent/TestCleanableFileStreamValueData.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -21,6 +21,7 @@
import org.exoplatform.services.jcr.JcrImplBaseTest;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.impl.util.io.SwapFile;
import java.io.File;
@@ -86,7 +87,7 @@
testCleaner = new FileCleaner(CLEANER_TIMEOUT);
SwapFile sf = SwapFile.get(parentDir, FILE_NAME);
- FileOutputStream fout = new FileOutputStream(sf);
+ FileOutputStream fout = PrivilegedFileHelper.fileOutputStream(sf);
fout.write("testFileCleaned".getBytes());
fout.close();
sf.spoolDone();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationLogTestLoad.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationLogTestLoad.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationLogTestLoad.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -20,6 +20,7 @@
import org.exoplatform.services.jcr.dataflow.TransactionChangesLog;
import org.exoplatform.services.jcr.impl.core.NodeImpl;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.io.FileInputStream;
@@ -68,7 +69,7 @@
long jcrread = 0;
File jcrfile = File.createTempFile("jcr", "test");
- ObjectWriterImpl jcrout = new ObjectWriterImpl(new FileOutputStream(jcrfile));
+ ObjectWriterImpl jcrout = new ObjectWriterImpl(PrivilegedFileHelper.fileOutputStream(jcrfile));
System.out.println(" WRITE START");
long t1 = System.currentTimeMillis();
@@ -89,7 +90,7 @@
for (int i = 0; i < iter; i++)
{
TransactionChangesLogReader rdr = new TransactionChangesLogReader(fileCleaner, maxBufferSize, holder);
- TransactionChangesLog obj = (TransactionChangesLog)rdr.read(jcrin);
+ TransactionChangesLog obj = rdr.read(jcrin);
// readed.add(obj);
}
@@ -108,7 +109,7 @@
long javaRead = 0;
File jfile = File.createTempFile("java", "test");
- ObjectOutputStream jout = new ObjectOutputStream(new FileOutputStream(jfile));
+ ObjectOutputStream jout = new ObjectOutputStream(PrivilegedFileHelper.fileOutputStream(jfile));
it = logs.iterator();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationVSJavaSerializationTestLoad.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationVSJavaSerializationTestLoad.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JCRSerializationVSJavaSerializationTestLoad.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -22,6 +22,7 @@
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.FilePersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.StreamPersistedValueData;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.ByteArrayInputStream;
import java.io.File;
@@ -75,7 +76,7 @@
it = list.iterator();
File jcrfile = File.createTempFile("jcr", "test");
- ObjectWriterImpl jcrout = new ObjectWriterImpl(new FileOutputStream(jcrfile));
+ ObjectWriterImpl jcrout = new ObjectWriterImpl(PrivilegedFileHelper.fileOutputStream(jcrfile));
long t1 = System.currentTimeMillis();
PersistedValueDataWriter wr = new PersistedValueDataWriter();
@@ -112,7 +113,7 @@
for (int j = 0; j < iterations; j++)
{
File jfile = File.createTempFile("java", "test");
- ObjectOutputStream jout = new ObjectOutputStream(new FileOutputStream(jfile));
+ ObjectOutputStream jout = new ObjectOutputStream(PrivilegedFileHelper.fileOutputStream(jfile));
it = list.iterator();
long t2 = System.currentTimeMillis();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JcrImplSerializationBaseTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JcrImplSerializationBaseTest.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/JcrImplSerializationBaseTest.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -46,6 +46,7 @@
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.StreamPersistedValueData;
import org.exoplatform.services.jcr.impl.storage.value.fs.operations.ValueFileIOHelper;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.storage.value.ValueIOChannel;
/**
@@ -104,7 +105,7 @@
protected File serializeLogs(List<TransactionChangesLog> logs) throws IOException, UnknownClassIdException
{
File jcrfile = File.createTempFile("jcr", "test");
- ObjectWriterImpl jcrout = new ObjectWriterImpl(new FileOutputStream(jcrfile));
+ ObjectWriterImpl jcrout = new ObjectWriterImpl(PrivilegedFileHelper.fileOutputStream(jcrfile));
TransactionChangesLogWriter wr = new TransactionChangesLogWriter();
for (TransactionChangesLog tcl : logs)
@@ -129,7 +130,7 @@
while (true)
{
TransactionChangesLog obj =
- (TransactionChangesLog)(new TransactionChangesLogReader(fileCleaner, maxBufferSize, holder)).read(jcrin);
+ (new TransactionChangesLogReader(fileCleaner, maxBufferSize, holder)).read(jcrin);
// TransactionChangesLog obj = new TransactionChangesLog();
// obj.readObject(jcrin);
readed.add(obj);
@@ -139,8 +140,7 @@
{
// ok
}
-
-
+
//Imitation of save.
imitationSave(readed);
@@ -159,34 +159,37 @@
for (TransactionChangesLog tLog : readed)
{
ChangesLogIterator it = tLog.getLogIterator();
-
- while (it.hasNextLog())
+
+ while (it.hasNextLog())
{
PlainChangesLog pLog = it.nextLog();
-
+
for (ItemState state : pLog.getAllStates())
{
ItemData itemData = state.getData();
-
+
if (!itemData.isNode())
{
PropertyData propData = (PropertyData)itemData;
-
- for(ValueData valueData : propData.getValues())
+
+ for (ValueData valueData : propData.getValues())
{
- if (valueData instanceof StreamPersistedValueData) {
+ if (valueData instanceof StreamPersistedValueData)
+ {
// imitation of JCR save
- if (((StreamPersistedValueData) valueData).getTempFile() != null)
+ if (((StreamPersistedValueData)valueData).getTempFile() != null)
{
- ((StreamPersistedValueData) valueData).setPersistedFile(((StreamPersistedValueData) valueData).getTempFile());
+ ((StreamPersistedValueData)valueData).setPersistedFile(((StreamPersistedValueData)valueData)
+ .getTempFile());
}
else
{
File file = File.createTempFile("tempFile", "tmp");
file.deleteOnExit();
-
- copy(((StreamPersistedValueData) valueData).getStream(), new FileOutputStream(file));
- ((StreamPersistedValueData) valueData).setPersistedFile(file);
+
+ copy(((StreamPersistedValueData)valueData).getStream(), PrivilegedFileHelper
+ .fileOutputStream(file));
+ ((StreamPersistedValueData)valueData).setPersistedFile(file);
}
}
}
@@ -195,7 +198,7 @@
}
}
}
-
+
protected long copy(InputStream in, OutputStream out) throws IOException
{
// compare classes as in Java6 Channels.newChannel(), Java5 has a bug in newChannel().
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/MultipleDeserializationTestLoad.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/MultipleDeserializationTestLoad.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/MultipleDeserializationTestLoad.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -25,6 +25,7 @@
import org.exoplatform.services.jcr.dataflow.persistent.ItemsPersistenceListener;
import org.exoplatform.services.jcr.impl.core.NodeImpl;
import org.exoplatform.services.jcr.impl.core.SessionImpl;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.ByteArrayInputStream;
import java.io.File;
@@ -126,7 +127,7 @@
// Serialize with JCR
File jcrfile = File.createTempFile("jcr", "test");
- ObjectWriterImpl jcrout = new ObjectWriterImpl(new FileOutputStream(jcrfile));
+ ObjectWriterImpl jcrout = new ObjectWriterImpl(PrivilegedFileHelper.fileOutputStream(jcrfile));
TransactionChangesLog l = pl.pushChanges().get(0);
TransactionChangesLogWriter wr = new TransactionChangesLogWriter();
wr.write(jcrout, l);
@@ -136,7 +137,7 @@
ObjectReaderImpl jcrin = new ObjectReaderImpl(new FileInputStream(jcrfile));
long jcrfread = System.currentTimeMillis();
TransactionChangesLog mlog =
- (TransactionChangesLog)(new TransactionChangesLogReader(fileCleaner, maxBufferSize, holder)).read(jcrin);
+ (new TransactionChangesLogReader(fileCleaner, maxBufferSize, holder)).read(jcrin);
//TransactionChangesLog mlog = new TransactionChangesLog();
//mlog.readObject(jcrin);
jcrfread = System.currentTimeMillis() - jcrfread;
@@ -151,7 +152,7 @@
// deserialize
jcrin = new ObjectReaderImpl(new FileInputStream(jcrfile));
long t3 = System.currentTimeMillis();
- TransactionChangesLog log = (TransactionChangesLog)rdr.read(jcrin);
+ TransactionChangesLog log = rdr.read(jcrin);
t3 = System.currentTimeMillis() - t3;
jcrread += t3;
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestEOFException.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestEOFException.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestEOFException.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -20,6 +20,7 @@
import org.exoplatform.services.jcr.dataflow.serialization.ObjectReader;
import org.exoplatform.services.jcr.dataflow.serialization.ObjectWriter;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.EOFException;
import java.io.File;
@@ -42,7 +43,7 @@
final byte[] buffer = createBLOBTempData(45);
File test = File.createTempFile("testEOF", "");
- ObjectWriter ow = new ObjectWriterImpl(new FileOutputStream(test));
+ ObjectWriter ow = new ObjectWriterImpl(PrivilegedFileHelper.fileOutputStream(test));
ow.write(buffer);
ow.close();
@@ -72,7 +73,7 @@
{
File test = File.createTempFile("testEOF", "");
- ObjectWriter ow = new ObjectWriterImpl(new FileOutputStream(test));
+ ObjectWriter ow = new ObjectWriterImpl(PrivilegedFileHelper.fileOutputStream(test));
ow.writeBoolean(true);
ow.close();
@@ -101,7 +102,7 @@
{
File test = File.createTempFile("testEOF", "");
- ObjectWriter ow = new ObjectWriterImpl(new FileOutputStream(test));
+ ObjectWriter ow = new ObjectWriterImpl(PrivilegedFileHelper.fileOutputStream(test));
ow.writeInt(24);
ow.close();
@@ -131,7 +132,7 @@
{
File test = File.createTempFile("testEOF", "");
- ObjectWriter ow = new ObjectWriterImpl(new FileOutputStream(test));
+ ObjectWriter ow = new ObjectWriterImpl(PrivilegedFileHelper.fileOutputStream(test));
ow.writeLong(24);
ow.close();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationVersionRestore.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationVersionRestore.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/dataflow/serialization/TestJCRSerializationVersionRestore.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -19,6 +19,7 @@
package org.exoplatform.services.jcr.impl.dataflow.serialization;
import org.exoplatform.services.jcr.dataflow.TransactionChangesLog;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.io.FileInputStream;
@@ -97,9 +98,9 @@
tempFile2.deleteOnExit();
tempFile3.deleteOnExit();
- FileOutputStream fos = new FileOutputStream(tempFile);
- FileOutputStream fos2 = new FileOutputStream(tempFile2);
- FileOutputStream fos3 = new FileOutputStream(tempFile3);
+ FileOutputStream fos = PrivilegedFileHelper.fileOutputStream(tempFile);
+ FileOutputStream fos2 = PrivilegedFileHelper.fileOutputStream(tempFile2);
+ FileOutputStream fos3 = PrivilegedFileHelper.fileOutputStream(tempFile3);
String content = "this is the content #1";
String content2 = "this is the content #2_";
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/ValueStoragePluginTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/ValueStoragePluginTest.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/ValueStoragePluginTest.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -25,6 +25,7 @@
import org.exoplatform.services.jcr.config.WorkspaceEntry;
import org.exoplatform.services.jcr.impl.core.RepositoryImpl;
import org.exoplatform.services.jcr.impl.storage.jdbc.JDBCWorkspaceDataContainer;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.util.ConfigurationHelper;
import org.exoplatform.services.jcr.util.IdGenerator;
import org.exoplatform.services.log.ExoLogger;
@@ -229,7 +230,7 @@
byte[] data = new byte[1024]; // 1Kb
File testFile = File.createTempFile(IdGenerator.generate(), ".tmp");
- FileOutputStream tempOut = new FileOutputStream(testFile);
+ FileOutputStream tempOut = PrivilegedFileHelper.fileOutputStream(testFile);
Random random = new Random();
for (int i = 0; i < sizeInb; i += 1024)
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestFileIOChannel.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestFileIOChannel.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestFileIOChannel.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -24,6 +24,7 @@
import org.exoplatform.services.jcr.impl.dataflow.TesterTransientValueData;
import org.exoplatform.services.jcr.impl.storage.value.ValueDataResourceHolder;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.io.FileInputStream;
@@ -75,7 +76,7 @@
file.deleteOnExit();
if (file.exists())
file.delete();
- FileOutputStream out = new FileOutputStream(file);
+ FileOutputStream out = PrivilegedFileHelper.fileOutputStream(file);
out.write(buf);
out.close();
@@ -84,7 +85,7 @@
file = new File(rootDir, "testReadFromIOChannel1");
if (file.exists())
file.delete();
- out = new FileOutputStream(file);
+ out = PrivilegedFileHelper.fileOutputStream(file);
out.write(buf);
out.close();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestFileValueIO.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestFileValueIO.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/TestFileValueIO.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -25,6 +25,7 @@
import org.exoplatform.services.jcr.impl.dataflow.persistent.ByteArrayPersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.persistent.FilePersistedValueData;
import org.exoplatform.services.jcr.impl.storage.value.ValueDataResourceHolder;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.ByteArrayInputStream;
import java.io.File;
@@ -87,7 +88,7 @@
File file = new File("target/testReadByteArrayValueData");
if (file.exists())
file.delete();
- FileOutputStream out = new FileOutputStream(file);
+ FileOutputStream out = PrivilegedFileHelper.fileOutputStream(file);
out.write(buf);
out.close();
@@ -109,7 +110,7 @@
File file = new File("target/testReadFileValueData");
if (file.exists())
file.delete();
- FileOutputStream out = new FileOutputStream(file);
+ FileOutputStream out = PrivilegedFileHelper.fileOutputStream(file);
out.write(buf);
out.close();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/TestValueFileIOHelper.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/TestValueFileIOHelper.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/TestValueFileIOHelper.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -23,6 +23,7 @@
import org.exoplatform.services.jcr.dataflow.serialization.ObjectWriter;
import org.exoplatform.services.jcr.impl.dataflow.serialization.ObjectReaderImpl;
import org.exoplatform.services.jcr.impl.dataflow.serialization.ObjectWriterImpl;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.BufferedInputStream;
import java.io.File;
@@ -85,6 +86,7 @@
private boolean outFile;
+ @Override
public void setUp() throws Exception
{
super.setUp();
@@ -102,7 +104,7 @@
srcSerialization = File.createTempFile("srcSerialization", ".tmp");
srcSerialization.deleteOnExit();
- OutputStream out = new FileOutputStream(srcSerialization);
+ OutputStream out = PrivilegedFileHelper.fileOutputStream(srcSerialization);
ObjectWriter ow = new ObjectWriterImpl(out);
for (int i = 0; i < BLOCK_COUNT; i++)
{
@@ -127,6 +129,7 @@
dest = File.createTempFile("vdftest", "", testDir);
}
+ @Override
public void tearDown() throws Exception
{
dest.delete();
@@ -143,7 +146,7 @@
long start = System.currentTimeMillis();
InputStream in = new FileInputStream(srcSerialization);
- OutputStream out = new FileOutputStream(dest);
+ OutputStream out = PrivilegedFileHelper.fileOutputStream(dest);
ObjectReader or = new ObjectReaderImpl(in);
ObjectWriter ow = new ObjectWriterImpl(out);
@@ -177,7 +180,7 @@
start = System.currentTimeMillis();
in = new BufferedInputStream(new FileInputStream(srcSerialization));
- out = new FileOutputStream(dest);
+ out = PrivilegedFileHelper.fileOutputStream(dest);
openChannel(in, out);
long pos = 0;
@@ -207,7 +210,7 @@
public void testCopyFileToFile() throws Exception
{
- io.copyClose(new FileInputStream(src), new FileOutputStream(dest));
+ io.copyClose(new FileInputStream(src), PrivilegedFileHelper.fileOutputStream(dest));
// check length
assertEquals(src.length(), dest.length());
@@ -233,7 +236,7 @@
InputStream in = new FileInputStream(src);
// InputStream in = new URL("http://jboss1.exoua-int:8089/browser/02.zip").openStream();
- OutputStream out = new FileOutputStream(dest);
+ OutputStream out = PrivilegedFileHelper.fileOutputStream(dest);
try
{
int r = 0;
@@ -258,7 +261,7 @@
// copy via NIO
start = System.currentTimeMillis();
- io.copyClose(new BufferedInputStream(new FileInputStream(src)), new FileOutputStream(dest));
+ io.copyClose(new BufferedInputStream(new FileInputStream(src)), PrivilegedFileHelper.fileOutputStream(dest));
// io.copyClose(new URL("http://jboss1.exoua-int:8089/browser/02.zip").openStream(), new
// FileOutputStream(dest));
System.out.println("\t=== NIO time " + (System.currentTimeMillis() - start));
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/tools/tree/generator/RandomValueNodeGenerator.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/tools/tree/generator/RandomValueNodeGenerator.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/tools/tree/generator/RandomValueNodeGenerator.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -18,6 +18,7 @@
*/
package org.exoplatform.services.jcr.impl.tools.tree.generator;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.util.IdGenerator;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -176,7 +177,7 @@
byte[] data = new byte[1024]; // 1Kb
File testFile = File.createTempFile("randomsizefile", ".tmp");
- FileOutputStream tempOut = new FileOutputStream(testFile);
+ FileOutputStream tempOut = PrivilegedFileHelper.fileOutputStream(testFile);
for (int i = 0; i < sizeInb; i += 1024)
{
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestPersistedValueData.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestPersistedValueData.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestPersistedValueData.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -25,6 +25,7 @@
import org.exoplatform.services.jcr.impl.dataflow.persistent.FilePersistedValueData;
import org.exoplatform.services.jcr.impl.storage.value.fs.Probe;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.impl.util.io.SwapFile;
import java.io.ByteArrayInputStream;
@@ -60,7 +61,7 @@
File file = new File("target/testCreateFileStreamValueData");
if (file.exists())
file.delete();
- FileOutputStream out = new FileOutputStream(file);
+ FileOutputStream out = PrivilegedFileHelper.fileOutputStream(file);
out.write(buf);
out.close();
@@ -87,7 +88,7 @@
//File file = new File("target/testIfFinalizeRemovesTempFileStreamValueData");
//if (file.exists())
// file.delete();
- FileOutputStream out = new FileOutputStream(file);
+ FileOutputStream out = PrivilegedFileHelper.fileOutputStream(file);
out.write(buf);
out.close();
@@ -113,7 +114,7 @@
File file = new File("target/testConcurrentFileStreamValueDataReading");
if (file.exists())
file.delete();
- FileOutputStream out = new FileOutputStream(file);
+ FileOutputStream out = PrivilegedFileHelper.fileOutputStream(file);
// approx. 10Kb file
for (int i = 0; i < 100; i++)
{
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestTransientValueData.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestTransientValueData.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestTransientValueData.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -26,6 +26,7 @@
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
import org.exoplatform.services.jcr.impl.util.JCRDateFormat;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.ByteArrayInputStream;
import java.io.File;
@@ -71,12 +72,13 @@
File file = new File("target/testCreateFileStreamTransientValueData");
if (file.exists())
file.delete();
- FileOutputStream out = new FileOutputStream(file);
+ FileOutputStream out = PrivilegedFileHelper.fileOutputStream(file);
out.write(buf);
out.close();
FileInputStream fs1 = new FileInputStream(file);
- TransientValueData vd = new TransientValueData(0, null, fs1, null, new FileCleaner(), 5, new File("target"), true);
+ TransientValueData vd =
+ new TransientValueData(0, null, fs1, null, new FileCleaner(), 5, new File("target"), true);
// spool to file
InputStream fs2 = vd.getAsStream();
@@ -118,7 +120,7 @@
// TODO not influenced here as will be spooled to byte array anyway
//vd.setMaxBufferSize(5);
//vd.setFileCleaner(new FileCleaner());
-
+
//
InputStream fs2 = vd.getAsStream();
assertEquals(10, vd.getLength());
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestTransientValueDataSpooling.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestTransientValueDataSpooling.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestTransientValueDataSpooling.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -29,6 +29,7 @@
import org.exoplatform.services.jcr.impl.core.NodeImpl;
import org.exoplatform.services.jcr.impl.dataflow.serialization.ObjectWriterImpl;
import org.exoplatform.services.jcr.impl.dataflow.serialization.TransactionChangesLogWriter;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.io.FileInputStream;
@@ -82,6 +83,7 @@
/**
* {@inheritDoc}
*/
+ @Override
public void tearDown() throws Exception
{
super.tearDown();
@@ -178,7 +180,8 @@
node.getProperty("testProp").remove();
session.save();
- ObjectWriter out = new ObjectWriterImpl(new FileOutputStream(File.createTempFile("out", ".tmp")));
+ ObjectWriter out =
+ new ObjectWriterImpl(PrivilegedFileHelper.fileOutputStream(File.createTempFile("out", ".tmp")));
TransactionChangesLogWriter lw = new TransactionChangesLogWriter();
lw.write(out, cl);
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestValueImpl.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestValueImpl.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/impl/value/TestValueImpl.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -28,6 +28,7 @@
import org.exoplatform.services.jcr.impl.core.value.StringValue;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.io.FileInputStream;
@@ -55,7 +56,7 @@
File file = new File("target/testNewBinaryValue");
if (file.exists())
file.delete();
- FileOutputStream out = new FileOutputStream(file);
+ FileOutputStream out = PrivilegedFileHelper.fileOutputStream(file);
out.write(buf);
out.close();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/lab/java/TestFileLock.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/lab/java/TestFileLock.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/lab/java/TestFileLock.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -18,6 +18,8 @@
*/
package org.exoplatform.services.jcr.lab.java;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
+
import junit.framework.TestCase;
import java.io.File;
@@ -45,7 +47,7 @@
File f = new File("\\\\storm\\public\\file1.tmp");
f.createNewFile();
- FileOutputStream fout = new FileOutputStream(f);
+ FileOutputStream fout = PrivilegedFileHelper.fileOutputStream(f);
FileChannel fc = fout.getChannel();
ByteBuffer buff = ByteBuffer.wrap("test-file1".getBytes());
@@ -65,7 +67,7 @@
System.out.println(new String(b, 0, res));
// lock file
- fout = new FileOutputStream(f);
+ fout = PrivilegedFileHelper.fileOutputStream(f);
fc = fout.getChannel();
FileLock lock = fc.lock();
@@ -74,12 +76,13 @@
// check another lock
Thread another = new Thread()
{
+ @Override
public void run()
{
try
{
Thread.sleep(25);
- FileOutputStream fout1 = new FileOutputStream(new File("\\\\storm\\public\\file1.tmp"));
+ FileOutputStream fout1 = PrivilegedFileHelper.fileOutputStream(new File("\\\\storm\\public\\file1.tmp"));
FileChannel fc1 = fout1.getChannel();
try
{
@@ -135,7 +138,7 @@
File f = new File("D:\\tmp\\file2.tmp");
System.out.println("Try open file for write " + System.currentTimeMillis());
- FileOutputStream fout = new FileOutputStream(f);
+ FileOutputStream fout = PrivilegedFileHelper.fileOutputStream(f);
FileChannel fc = fout.getChannel();
System.out.println("Try lock file " + System.currentTimeMillis());
FileLock lock = fc.lock();
@@ -172,7 +175,7 @@
// lock file for write
Thread.sleep(timeout);
System.out.println("Try open file for write " + System.currentTimeMillis());
- fout = new FileOutputStream(f);
+ fout = PrivilegedFileHelper.fileOutputStream(f);
fc = fout.getChannel();
System.out.println("Try lock file " + System.currentTimeMillis());
lock = fc.lock();
@@ -219,7 +222,7 @@
// write new content
System.out.println("Try open file for write " + System.currentTimeMillis());
- FileOutputStream fout = new FileOutputStream(f);
+ FileOutputStream fout = PrivilegedFileHelper.fileOutputStream(f);
FileChannel fc = fout.getChannel();
System.out.println("Try lock file " + System.currentTimeMillis());
FileLock lock = fc.lock();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestExportBigFiles.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestExportBigFiles.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestExportBigFiles.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -19,6 +19,7 @@
package org.exoplatform.services.jcr.load.blob;
import org.exoplatform.services.jcr.JcrAPIBaseTest;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
@@ -73,7 +74,7 @@
// Exporting repository content
File file = File.createTempFile("tesSysExport", ".xml");
- BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(file));
+ BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(PrivilegedFileHelper.fileOutputStream(file));
session.exportSystemView(testLocalBigFiles.getPath(), bufferedOutputStream, false, false);
bufferedOutputStream.flush();
bufferedOutputStream.close();
@@ -137,7 +138,7 @@
// Exporting repository content
File file = File.createTempFile("tesDocExport", ".xml");
- BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(file));
+ BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(PrivilegedFileHelper.fileOutputStream(file));
session.exportDocumentView(testLocalBigFiles.getPath(), bufferedOutputStream, false, false);
bufferedOutputStream.flush();
bufferedOutputStream.close();
@@ -197,7 +198,7 @@
// Exporting repository content
File file = File.createTempFile("tesSysExport", ".xml");
- BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(file));
+ BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(PrivilegedFileHelper.fileOutputStream(file));
session.exportSystemView(testLocalBigFiles.getPath(), bufferedOutputStream, false, false);
bufferedOutputStream.flush();
bufferedOutputStream.close();
@@ -267,7 +268,7 @@
// Exporting repository content
File file = File.createTempFile("tesSysExport", ".xml");
- BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(new FileOutputStream(file));
+ BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(PrivilegedFileHelper.fileOutputStream(file));
session.exportSystemView(testLocalBigFiles.getPath(), bufferedOutputStream, false, false);
bufferedOutputStream.flush();
bufferedOutputStream.close();
@@ -301,13 +302,14 @@
}
+ @Override
protected File createBLOBTempFile(int sizeInb) throws IOException
{
// create test file
byte[] data = new byte[1024]; // 1Kb
File testFile = File.createTempFile("exportImportFileTest", ".tmp");
- FileOutputStream tempOut = new FileOutputStream(testFile);
+ FileOutputStream tempOut = PrivilegedFileHelper.fileOutputStream(testFile);
Random random = new Random();
for (int i = 0; i < sizeInb; i += 1024)
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestLoadRepo.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestLoadRepo.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/blob/TestLoadRepo.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -24,6 +24,7 @@
import org.exoplatform.services.jcr.impl.tools.tree.ValueSsh1Comparator;
import org.exoplatform.services.jcr.impl.tools.tree.ValueSsh1Generator;
import org.exoplatform.services.jcr.impl.tools.tree.generator.RandomValueNodeGenerator;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.BufferedOutputStream;
import java.io.File;
@@ -60,7 +61,7 @@
{
Node testNode = root.addNode("testNode");
File checkSummValue = new File(System.getProperty("java.io.tmpdir"), "repo.ssh1");
- BufferedOutputStream sshStrream = new BufferedOutputStream(new FileOutputStream(checkSummValue));
+ BufferedOutputStream sshStrream = new BufferedOutputStream(PrivilegedFileHelper.fileOutputStream(checkSummValue));
RandomValueNodeGenerator nodeGenerator =
new RandomValueNodeGenerator(session.getValueFactory(), 6, 5, 8, 5, 1024 * 1024);
TreeGenerator generator = new TreeGenerator(testNode, nodeGenerator);
@@ -70,7 +71,7 @@
((NodeImpl)testNode).getData().accept(ssh1Generator);
sshStrream.close();
File exportFile = new File(System.getProperty("java.io.tmpdir"), "testExport.xml");
- OutputStream os = new FileOutputStream(exportFile);
+ OutputStream os = PrivilegedFileHelper.fileOutputStream(exportFile);
session.exportSystemView(testNode.getPath(), os, false, false);
os.close();
}
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/perf/TestPerformance.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/perf/TestPerformance.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/perf/TestPerformance.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -515,7 +515,7 @@
// byte[] data = new byte[BUFFER_SIZE]; // 1KB
// Arrays.fill(data, (byte) SYMBOL); // symbol A
// File testFile = File.createTempFile(prefix, ".tmp");
- // FileOutputStream tempOut = new FileOutputStream(testFile);
+ // FileOutputStream tempOut = PrivilegedFileHelper.fileOutputStream(testFile);
// for (int i = 0; i < sizeInKb; i++) {
// tempOut.write(data);
// }
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-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/load/storage/fs/TestFSReadWrite.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -20,6 +20,7 @@
import junit.framework.TestCase;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.util.SIDGenerator;
import java.io.File;
@@ -105,6 +106,7 @@
}
+ @Override
protected void setUp() throws Exception
{
super.setUp();
@@ -114,6 +116,7 @@
testRoot.deleteOnExit();
}
+ @Override
protected void tearDown() throws Exception
{
long time = System.currentTimeMillis();
@@ -185,7 +188,7 @@
try
{
// f.createNewFile();
- FileOutputStream fos = new FileOutputStream(f);
+ FileOutputStream fos = PrivilegedFileHelper.fileOutputStream(f);
try
{
fos.write(("File content " + f.getAbsolutePath()).getBytes());
@@ -216,7 +219,7 @@
try
{
// f.createNewFile();
- FileOutputStream fos = new FileOutputStream(f);
+ FileOutputStream fos = PrivilegedFileHelper.fileOutputStream(f);
try
{
fos.write(("File content " + f.getAbsolutePath()).getBytes());
@@ -258,7 +261,7 @@
try
{
// f.createNewFile();
- FileOutputStream fos = new FileOutputStream(f);
+ FileOutputStream fos = PrivilegedFileHelper.fileOutputStream(f);
try
{
fos.write(("File content " + f.getAbsolutePath()).getBytes());
@@ -304,7 +307,7 @@
try
{
// f.createNewFile();
- FileOutputStream fos = new FileOutputStream(f);
+ FileOutputStream fos = PrivilegedFileHelper.fileOutputStream(f);
try
{
fos.write(("File content " + f.getAbsolutePath()).getBytes());
@@ -347,7 +350,7 @@
File f = new File(dir.getAbsolutePath() + File.separator + fileName);
try
{
- FileOutputStream fos = new FileOutputStream(f);
+ FileOutputStream fos = PrivilegedFileHelper.fileOutputStream(f);
try
{
fos.write(("qazws").getBytes());
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/RemoveVDTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/RemoveVDTest.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/RemoveVDTest.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -30,6 +30,7 @@
import org.exoplatform.services.jcr.impl.dataflow.serialization.PersistedValueDataReader;
import org.exoplatform.services.jcr.impl.dataflow.serialization.PersistedValueDataWriter;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.io.FileInputStream;
@@ -57,7 +58,7 @@
File serf = File.createTempFile("serialization", "test");
- ObjectWriter wr = new ObjectWriterImpl(new FileOutputStream(serf));
+ ObjectWriter wr = new ObjectWriterImpl(PrivilegedFileHelper.fileOutputStream(serf));
PersistedValueDataWriter vdw = new PersistedValueDataWriter();
vdw.write(wr, vd);
@@ -83,7 +84,7 @@
or.close();
// Imitation save
- ((StreamPersistedValueData) vd1).setPersistedFile(((StreamPersistedValueData) vd1).getTempFile());
+ ((StreamPersistedValueData)vd1).setPersistedFile(((StreamPersistedValueData)vd1).getTempFile());
// read second time
or = new ObjectReaderImpl(new FileInputStream(serf));
@@ -99,7 +100,7 @@
}
or.close();
// Imitation save
- ((StreamPersistedValueData) vd2).setPersistedFile(((StreamPersistedValueData) vd2).getTempFile());
+ ((StreamPersistedValueData)vd2).setPersistedFile(((StreamPersistedValueData)vd2).getTempFile());
assertTrue(vd1.getFile().exists());
assertTrue(vd2.getFile().exists());
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/common/TestExportImportAmongSessions.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/common/TestExportImportAmongSessions.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/common/TestExportImportAmongSessions.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -18,6 +18,7 @@
*/
package org.exoplatform.services.jcr.usecases.common;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.usecases.BaseUsecasesTest;
import java.io.ByteArrayInputStream;
@@ -67,7 +68,7 @@
File outputFile = File.createTempFile("jcr_bin_test-", ".tmp");
outputFile.deleteOnExit();
- session1.exportDocumentView(testNode.getPath(), new FileOutputStream(outputFile), false, false);
+ session1.exportDocumentView(testNode.getPath(), PrivilegedFileHelper.fileOutputStream(outputFile), false, false);
testNode.remove();
session1.save();
@@ -116,7 +117,7 @@
File outputFile = File.createTempFile("jcr_bin_test", ".tmp");
outputFile.deleteOnExit();
- session2.exportDocumentView(testNode.getPath(), new FileOutputStream(outputFile), false, false);
+ session2.exportDocumentView(testNode.getPath(), PrivilegedFileHelper.fileOutputStream(outputFile), false, false);
testNode.remove();
session2.save();
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/export/ExportWorkspaceSystemViewTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/export/ExportWorkspaceSystemViewTest.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/export/ExportWorkspaceSystemViewTest.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -27,6 +27,7 @@
import org.exoplatform.services.jcr.impl.core.RepositoryImpl;
import org.exoplatform.services.jcr.impl.core.SessionImpl;
import org.exoplatform.services.jcr.impl.core.SysViewWorkspaceInitializer;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.usecases.BaseUsecasesTest;
import java.io.File;
@@ -56,7 +57,7 @@
// 1-st export
File f1 = new File("target/1.xml");
- sessionWS1.exportWorkspaceSystemView(new FileOutputStream(f1), false, false);
+ sessionWS1.exportWorkspaceSystemView(PrivilegedFileHelper.fileOutputStream(f1), false, false);
// 1-st import
WorkspaceEntry ws1_restore_1 =
@@ -77,7 +78,7 @@
// 2-st export
SessionImpl back1 = (SessionImpl)repository.login(credentials, "ws1_restore_1");
File f2 = new File("target/2.xml");
- back1.exportWorkspaceSystemView(new FileOutputStream(f2), false, false);
+ back1.exportWorkspaceSystemView(PrivilegedFileHelper.fileOutputStream(f2), false, false);
// 2-st import
WorkspaceEntry ws1_restore_2 =
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/version/FileRestoreTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/version/FileRestoreTest.java 2010-06-14 07:35:22 UTC (rev 2562)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/usecases/version/FileRestoreTest.java 2010-06-14 07:38:11 UTC (rev 2563)
@@ -18,6 +18,7 @@
*/
package org.exoplatform.services.jcr.usecases.version;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.usecases.BaseUsecasesTest;
import java.io.File;
@@ -50,9 +51,9 @@
tempFile2.deleteOnExit();
tempFile3.deleteOnExit();
- FileOutputStream fos = new FileOutputStream(tempFile);
- FileOutputStream fos2 = new FileOutputStream(tempFile2);
- FileOutputStream fos3 = new FileOutputStream(tempFile3);
+ FileOutputStream fos = PrivilegedFileHelper.fileOutputStream(tempFile);
+ FileOutputStream fos2 = PrivilegedFileHelper.fileOutputStream(tempFile2);
+ FileOutputStream fos3 = PrivilegedFileHelper.fileOutputStream(tempFile3);
String content = "this is the content #1";
String content2 = "this is the content #2_";
14 years
exo-jcr SVN: r2562 - jcr/trunk/docs/reference/en/src/main/docbook/en-US/modules/kernel.
by do-not-reply@jboss.org
Author: nfilotto
Date: 2010-06-14 03:35:22 -0400 (Mon, 14 Jun 2010)
New Revision: 2562
Modified:
jcr/trunk/docs/reference/en/src/main/docbook/en-US/modules/kernel/configuration.xml
Log:
EXOJCR-784: config fixed
Modified: jcr/trunk/docs/reference/en/src/main/docbook/en-US/modules/kernel/configuration.xml
===================================================================
--- jcr/trunk/docs/reference/en/src/main/docbook/en-US/modules/kernel/configuration.xml 2010-06-14 07:31:54 UTC (rev 2561)
+++ jcr/trunk/docs/reference/en/src/main/docbook/en-US/modules/kernel/configuration.xml 2010-06-14 07:35:22 UTC (rev 2562)
@@ -1151,21 +1151,44 @@
<type>Component</type>
</component>
-<component profile="foo">
+<component profiles="foo">
<key>Component</key>
<type>FooComponent</type>
</component></programlisting>
</section>
<section>
+ <title>Component plugin element</title>
+
+ <para>The component-plugin element is used to dynamically extend the
+ configuration of a given component. Thanks to the profiles the
+ component-plugins could be enabled or disabled:</para>
+
+ <programlisting><external-component-plugins>
+ <target-component>Component</target-component>
+ <component-plugin profiles="foo">
+ <name>foo</name>
+ <set-method>addPlugin</set-method>
+ <type>type</type>
+ <init-params>
+ <value-param>
+ <name>param</name>
+ <value>empty</value>
+ </value-param>
+ </init-params>
+ </component-plugin>
+</external-component-plugins></programlisting>
+ </section>
+
+ <section>
<title>Import element</title>
<para>The import element imports a referenced configuration file
when activated:</para>
<programlisting><import>empty</import>
-<import profile="foo">foo</import>
-<import profile="bar">bar</import></programlisting>
+<import profiles="foo">foo</import>
+<import profiles="bar">bar</import></programlisting>
</section>
<section>
@@ -1182,11 +1205,11 @@
<name>param</name>
<value>empty</value>
</value-param>
- <value-param profile="foo">
+ <value-param profiles="foo">
<name>param</name>
<value>foo</value>
</value-param>
- <value-param profile="bar">
+ <value-param profiles="bar">
<name>param</name>
<value>bar</value>
</value-param>
@@ -1204,8 +1227,8 @@
<field name="role">
<collection type="java.util.ArrayList">
<value><string>manager</string></value>
- <value profile="foo"><string>foo_manager</string></value>
- <value profile="foo,bar"><string>foo_bar_manager</string></value>
+ <value profiles="foo"><string>foo_manager</string></value>
+ <value profiles="foo,bar"><string>foo_bar_manager</string></value>
</collection>
</field>
</object></programlisting>
@@ -1225,12 +1248,12 @@
<value><string>manager</string></value>
</collection>
</field>
- <field name="role" profile="foo,bar">
+ <field name="role" profiles="foo,bar">
<collection type="java.util.ArrayList">
<value><string>foo_bar_manager</string></value>
</collection>
</field>
- <field name="role" profile="foo">
+ <field name="role" profiles="foo">
<collection type="java.util.ArrayList">
<value><string>foo_manager</string></value>
</collection>
14 years
exo-jcr SVN: r2561 - jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/kernel.
by do-not-reply@jboss.org
Author: nfilotto
Date: 2010-06-14 03:31:54 -0400 (Mon, 14 Jun 2010)
New Revision: 2561
Modified:
jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/kernel/configuration.xml
Log:
EXOJCR-784: config fixed
Modified: jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/kernel/configuration.xml
===================================================================
--- jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/kernel/configuration.xml 2010-06-14 06:52:48 UTC (rev 2560)
+++ jcr/branches/1.12.x/docs/reference/en/src/main/docbook/en-US/modules/kernel/configuration.xml 2010-06-14 07:31:54 UTC (rev 2561)
@@ -1151,21 +1151,44 @@
<type>Component</type>
</component>
-<component profile="foo">
+<component profiles="foo">
<key>Component</key>
<type>FooComponent</type>
</component></programlisting>
</section>
<section>
+ <title>Component plugin element</title>
+
+ <para>The component-plugin element is used to dynamically extend the
+ configuration of a given component. Thanks to the profiles the
+ component-plugins could be enabled or disabled:</para>
+
+ <programlisting><external-component-plugins>
+ <target-component>Component</target-component>
+ <component-plugin profiles="foo">
+ <name>foo</name>
+ <set-method>addPlugin</set-method>
+ <type>type</type>
+ <init-params>
+ <value-param>
+ <name>param</name>
+ <value>empty</value>
+ </value-param>
+ </init-params>
+ </component-plugin>
+</external-component-plugins></programlisting>
+ </section>
+
+ <section>
<title>Import element</title>
<para>The import element imports a referenced configuration file
when activated:</para>
<programlisting><import>empty</import>
-<import profile="foo">foo</import>
-<import profile="bar">bar</import></programlisting>
+<import profiles="foo">foo</import>
+<import profiles="bar">bar</import></programlisting>
</section>
<section>
@@ -1182,11 +1205,11 @@
<name>param</name>
<value>empty</value>
</value-param>
- <value-param profile="foo">
+ <value-param profiles="foo">
<name>param</name>
<value>foo</value>
</value-param>
- <value-param profile="bar">
+ <value-param profiles="bar">
<name>param</name>
<value>bar</value>
</value-param>
@@ -1204,8 +1227,8 @@
<field name="role">
<collection type="java.util.ArrayList">
<value><string>manager</string></value>
- <value profile="foo"><string>foo_manager</string></value>
- <value profile="foo,bar"><string>foo_bar_manager</string></value>
+ <value profiles="foo"><string>foo_manager</string></value>
+ <value profiles="foo,bar"><string>foo_bar_manager</string></value>
</collection>
</field>
</object></programlisting>
@@ -1225,12 +1248,12 @@
<value><string>manager</string></value>
</collection>
</field>
- <field name="role" profile="foo,bar">
+ <field name="role" profiles="foo,bar">
<collection type="java.util.ArrayList">
<value><string>foo_bar_manager</string></value>
</collection>
</field>
- <field name="role" profile="foo">
+ <field name="role" profiles="foo">
<collection type="java.util.ArrayList">
<value><string>foo_manager</string></value>
</collection>
14 years
exo-jcr SVN: r2560 - jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs.
by do-not-reply@jboss.org
Author: dkatayev
Date: 2010-06-14 02:52:48 -0400 (Mon, 14 Jun 2010)
New Revision: 2560
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/TreeFileIOChannel.java
Log:
EXOJCR-756 rootDir.getAbsolutePath replaced with PrivilegedFileHelper.getAbsolutePath(rootDir)
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/TreeFileIOChannel.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/TreeFileIOChannel.java 2010-06-14 06:34:22 UTC (rev 2559)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/TreeFileIOChannel.java 2010-06-14 06:52:48 UTC (rev 2560)
@@ -55,7 +55,8 @@
{
final TreeFile tfile =
- new TreeFile(rootDir.getAbsolutePath() + makeFilePath(propertyId, orderNumber), cleaner, rootDir);
+ new TreeFile(PrivilegedFileHelper.getAbsolutePath(rootDir) + makeFilePath(propertyId, orderNumber), cleaner,
+ rootDir);
PrivilegedFileHelper.mkdirs(tfile.getParentFile());
@@ -65,7 +66,7 @@
@Override
protected File[] getFiles(final String propertyId) throws IOException
{
- final File dir = PrivilegedFileHelper.file(rootDir.getAbsolutePath() + buildPath(propertyId));
+ final File dir = PrivilegedFileHelper.file(PrivilegedFileHelper.getAbsolutePath(rootDir) + buildPath(propertyId));
String[] fileNames = PrivilegedFileHelper.list(dir);
File[] files = new File[fileNames.length];
for (int i = 0; i < fileNames.length; i++)
14 years
exo-jcr SVN: r2559 - in jcr/trunk/exo.jcr.component.core/src: test/java/org/exoplatform/services/jcr and 1 other directory.
by do-not-reply@jboss.org
Author: tolusha
Date: 2010-06-14 02:34:22 -0400 (Mon, 14 Jun 2010)
New Revision: 2559
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/test/java/org/exoplatform/services/jcr/BaseStandaloneTest.java
Log:
EXOJCR-756: BaseStandalone test uses Helper
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-11 15:05:59 UTC (rev 2558)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/PrivilegedFileHelper.java 2010-06-14 06:34:22 UTC (rev 2559)
@@ -135,6 +135,42 @@
}
}
+ public static File createTempFile(final String prefix, final String suffix) throws IllegalArgumentException,
+ IOException
+ {
+ PrivilegedExceptionAction<Object> action = new PrivilegedExceptionAction<Object>()
+ {
+ public Object run() throws Exception
+ {
+ return File.createTempFile(prefix, suffix);
+ }
+ };
+ try
+ {
+ return (File)AccessController.doPrivileged(action);
+ }
+ catch (PrivilegedActionException pae)
+ {
+ Throwable cause = pae.getCause();
+ if (cause instanceof IllegalArgumentException)
+ {
+ throw (IllegalArgumentException)cause;
+ }
+ else if (cause instanceof IOException)
+ {
+ throw (IOException)cause;
+ }
+ else if (cause instanceof RuntimeException)
+ {
+ throw (RuntimeException)cause;
+ }
+ else
+ {
+ throw new RuntimeException(cause);
+ }
+ }
+ }
+
public static long length(final File file)
{
PrivilegedAction<Object> action = new PrivilegedAction<Object>()
@@ -147,6 +183,19 @@
return (Long)AccessController.doPrivileged(action);
}
+ public static void deleteOnExit(final File file)
+ {
+ PrivilegedAction<Object> action = new PrivilegedAction<Object>()
+ {
+ public Object run()
+ {
+ file.deleteOnExit();
+ return null;
+ }
+ };
+ AccessController.doPrivileged(action);
+ }
+
public static String getAbsolutePath(final File file)
{
PrivilegedAction<Object> action = new PrivilegedAction<Object>()
Modified: jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/BaseStandaloneTest.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/BaseStandaloneTest.java 2010-06-11 15:05:59 UTC (rev 2558)
+++ jcr/trunk/exo.jcr.component.core/src/test/java/org/exoplatform/services/jcr/BaseStandaloneTest.java 2010-06-14 06:34:22 UTC (rev 2559)
@@ -31,6 +31,7 @@
import org.exoplatform.services.jcr.impl.core.SessionImpl;
import org.exoplatform.services.jcr.impl.dataflow.serialization.ReaderSpoolFileHolder;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.impl.util.io.WorkspaceFileCleanerHolder;
import org.exoplatform.services.jcr.storage.WorkspaceDataContainer;
import org.exoplatform.services.log.ExoLogger;
@@ -395,13 +396,7 @@
protected File createBLOBTempFile(int sizeInKb) throws IOException
{
- System.setSecurityManager(null);
-
- File file = createBLOBTempFile("exo_jcr_test_temp_file_", sizeInKb);
-
- System.setSecurityManager(new SecurityManager());
-
- return file;
+ return createBLOBTempFile("exo_jcr_test_temp_file_", sizeInKb);
}
protected File createBLOBTempFile(String prefix, int sizeInKb) throws IOException
@@ -409,8 +404,8 @@
// create test file
byte[] data = new byte[1024]; // 1Kb
- File testFile = File.createTempFile(prefix, ".tmp");
- FileOutputStream tempOut = new FileOutputStream(testFile);
+ File testFile = PrivilegedFileHelper.createTempFile(prefix, ".tmp");
+ FileOutputStream tempOut = PrivilegedFileHelper.fileOutputStream(testFile);
Random random = new Random();
for (int i = 0; i < sizeInKb; i++)
@@ -419,10 +414,11 @@
tempOut.write(data);
}
tempOut.close();
- testFile.deleteOnExit(); // delete on test exit
+ PrivilegedFileHelper.deleteOnExit(testFile); // delete on test exit
if (log.isDebugEnabled())
{
- log.debug("Temp file created: " + testFile.getAbsolutePath() + " size: " + testFile.length());
+ log.debug("Temp file created: " + PrivilegedFileHelper.getAbsolutePath(testFile) + " size: "
+ + PrivilegedFileHelper.length(testFile));
}
return testFile;
}
14 years
exo-jcr SVN: r2558 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl: storage/value/fs and 1 other directories.
by do-not-reply@jboss.org
Author: tolusha
Date: 2010-06-11 11:05:59 -0400 (Fri, 11 Jun 2010)
New Revision: 2558
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FilePersistedValueData.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/StreamPersistedValueData.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/TreeFileIOChannel.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/main/java/org/exoplatform/services/jcr/impl/util/io/SpoolFile.java
Log:
EXOJCR-756: small refactoring, using PrivilegedFileHelper
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FilePersistedValueData.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FilePersistedValueData.java 2010-06-11 14:42:21 UTC (rev 2557)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/FilePersistedValueData.java 2010-06-11 15:05:59 UTC (rev 2558)
@@ -21,6 +21,7 @@
import org.exoplatform.services.jcr.datamodel.ValueData;
import org.exoplatform.services.jcr.impl.dataflow.AbstractPersistedValueData;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.Externalizable;
import java.io.File;
@@ -36,9 +37,6 @@
import java.nio.channels.Channels;
import java.nio.channels.FileChannel;
import java.nio.channels.WritableByteChannel;
-import java.security.AccessController;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
import javax.jcr.RepositoryException;
@@ -89,33 +87,7 @@
*/
public InputStream getAsStream() throws IOException
{
- PrivilegedExceptionAction<Object> action = new PrivilegedExceptionAction<Object>()
- {
- public Object run() throws Exception
- {
- return new FileInputStream(file);
- }
- };
- try
- {
- return (InputStream)AccessController.doPrivileged(action);
- }
- catch (PrivilegedActionException pae)
- {
- Throwable cause = pae.getCause();
- if (cause instanceof IOException)
- {
- throw (IOException)cause;
- }
- else if (cause instanceof RuntimeException)
- {
- throw (RuntimeException)cause;
- }
- else
- {
- throw new RuntimeException(cause);
- }
- }
+ return PrivilegedFileHelper.fileInputStream(file);
}
/**
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/StreamPersistedValueData.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/StreamPersistedValueData.java 2010-06-11 14:42:21 UTC (rev 2557)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/persistent/StreamPersistedValueData.java 2010-06-11 15:05:59 UTC (rev 2558)
@@ -19,6 +19,7 @@
package org.exoplatform.services.jcr.impl.dataflow.persistent;
import org.exoplatform.services.jcr.impl.dataflow.TransientValueData;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.impl.util.io.SpoolFile;
import org.exoplatform.services.jcr.impl.util.io.SwapFile;
@@ -27,8 +28,6 @@
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
-import java.security.AccessController;
-import java.security.PrivilegedAction;
import javax.jcr.RepositoryException;
@@ -182,43 +181,36 @@
@Override
public long getLength()
{
- PrivilegedAction<Object> action = new PrivilegedAction<Object>()
+ if (file != null)
{
- public Object run()
+ return PrivilegedFileHelper.length(file);
+ }
+ else if (tempFile != null)
+ {
+ return PrivilegedFileHelper.length(tempFile);
+ }
+ else if (stream instanceof FileInputStream)
+ {
+ try
{
- if (file != null)
- {
- return new Long(file.length());
- }
- else if (tempFile != null)
- {
- return new Long(tempFile.length());
- }
- else if (stream instanceof FileInputStream)
- {
- try
- {
- return new Long(((FileInputStream)stream).getChannel().size());
- }
- catch (IOException e)
- {
- return new Long(-1);
- }
- }
- else
- {
- try
- {
- return new Long(stream.available());
- }
- catch (IOException e)
- {
- return new Long(-1);
- }
- }
+ return ((FileInputStream)stream).getChannel().size();
}
- };
- return (Long)AccessController.doPrivileged(action);
+ catch (IOException e)
+ {
+ return -1;
+ }
+ }
+ else
+ {
+ try
+ {
+ return stream.available();
+ }
+ catch (IOException e)
+ {
+ return -1;
+ }
+ }
}
/**
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/TreeFileIOChannel.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/TreeFileIOChannel.java 2010-06-11 14:42:21 UTC (rev 2557)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/TreeFileIOChannel.java 2010-06-11 15:05:59 UTC (rev 2558)
@@ -20,12 +20,10 @@
import org.exoplatform.services.jcr.impl.storage.value.ValueDataResourceHolder;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import java.io.File;
import java.io.IOException;
-import java.security.AccessController;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
import java.util.concurrent.Semaphore;
/**
@@ -55,76 +53,27 @@
@Override
protected File getFile(final String propertyId, final int orderNumber) throws IOException
{
- PrivilegedExceptionAction<Object> action = new PrivilegedExceptionAction<Object>()
- {
- public Object run() throws Exception
- {
- final TreeFile tfile =
- new TreeFile(rootDir.getAbsolutePath() + makeFilePath(propertyId, orderNumber), cleaner, rootDir);
- mkdirs(tfile.getParentFile()); // make dirs on path
- return tfile;
- }
- };
- try
- {
- return (File)AccessController.doPrivileged(action);
- }
- catch (PrivilegedActionException pae)
- {
- Throwable cause = pae.getCause();
- if (cause instanceof IOException)
- {
- throw (IOException)cause;
- }
- else if (cause instanceof RuntimeException)
- {
- throw (RuntimeException)cause;
- }
- else
- {
- throw new RuntimeException(cause);
- }
- }
+ final TreeFile tfile =
+ new TreeFile(rootDir.getAbsolutePath() + makeFilePath(propertyId, orderNumber), cleaner, rootDir);
+
+ PrivilegedFileHelper.mkdirs(tfile.getParentFile());
+
+ return tfile;
}
@Override
protected File[] getFiles(final String propertyId) throws IOException
{
- PrivilegedExceptionAction<Object> action = new PrivilegedExceptionAction<Object>()
+ final File dir = PrivilegedFileHelper.file(rootDir.getAbsolutePath() + buildPath(propertyId));
+ String[] fileNames = PrivilegedFileHelper.list(dir);
+ File[] files = new File[fileNames.length];
+ for (int i = 0; i < fileNames.length; i++)
{
- public Object run() throws Exception
- {
- final File dir = new File(rootDir.getAbsolutePath() + buildPath(propertyId));
- String[] fileNames = dir.list();
- File[] files = new File[fileNames.length];
- for (int i = 0; i < fileNames.length; i++)
- {
- files[i] = new TreeFile(dir.getAbsolutePath() + File.separator + fileNames[i], cleaner, rootDir);
- }
- return files;
- }
- };
- try
- {
- return (File[])AccessController.doPrivileged(action);
+ files[i] =
+ new TreeFile(PrivilegedFileHelper.getAbsolutePath(dir) + File.separator + fileNames[i], cleaner, rootDir);
}
- catch (PrivilegedActionException pae)
- {
- Throwable cause = pae.getCause();
- if (cause instanceof IOException)
- {
- throw (IOException)cause;
- }
- else if (cause instanceof RuntimeException)
- {
- throw (RuntimeException)cause;
- }
- else
- {
- throw new RuntimeException(cause);
- }
- }
+ return files;
}
protected String buildPath(String fileName)
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-11 14:42:21 UTC (rev 2557)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/PrivilegedFileHelper.java 2010-06-11 15:05:59 UTC (rev 2558)
@@ -22,6 +22,7 @@
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
+import java.io.IOException;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.security.PrivilegedActionException;
@@ -98,6 +99,42 @@
}
}
+ public static File createTempFile(final String prefix, final String suffix, final File directory)
+ throws IllegalArgumentException, IOException
+ {
+ PrivilegedExceptionAction<Object> action = new PrivilegedExceptionAction<Object>()
+ {
+ public Object run() throws Exception
+ {
+ return File.createTempFile(prefix, suffix, directory);
+ }
+ };
+ try
+ {
+ return (File)AccessController.doPrivileged(action);
+ }
+ catch (PrivilegedActionException pae)
+ {
+ Throwable cause = pae.getCause();
+ if (cause instanceof IllegalArgumentException)
+ {
+ throw (IllegalArgumentException)cause;
+ }
+ else if (cause instanceof IOException)
+ {
+ throw (IOException)cause;
+ }
+ else if (cause instanceof RuntimeException)
+ {
+ throw (RuntimeException)cause;
+ }
+ else
+ {
+ throw new RuntimeException(cause);
+ }
+ }
+ }
+
public static long length(final File file)
{
PrivilegedAction<Object> action = new PrivilegedAction<Object>()
@@ -170,4 +207,28 @@
};
return (Boolean)AccessController.doPrivileged(action);
}
+
+ public static File file(final String pathname)
+ {
+ PrivilegedAction<Object> action = new PrivilegedAction<Object>()
+ {
+ public Object run()
+ {
+ return new File(pathname);
+ }
+ };
+ return (File)AccessController.doPrivileged(action);
+ }
+
+ public static String[] list(final File file)
+ {
+ PrivilegedAction<Object> action = new PrivilegedAction<Object>()
+ {
+ public Object run()
+ {
+ return file.list();
+ }
+ };
+ return (String[])AccessController.doPrivileged(action);
+ }
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/SpoolFile.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/SpoolFile.java 2010-06-11 14:42:21 UTC (rev 2557)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/SpoolFile.java 2010-06-11 15:05:59 UTC (rev 2558)
@@ -24,9 +24,6 @@
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
-import java.security.AccessController;
-import java.security.PrivilegedActionException;
-import java.security.PrivilegedExceptionAction;
import java.util.Map;
import java.util.WeakHashMap;
@@ -71,33 +68,8 @@
public static SpoolFile createTempFile(final String prefix, final String suffix, final File directory)
throws IOException
{
- PrivilegedExceptionAction<Object> action = new PrivilegedExceptionAction<Object>()
- {
- public Object run() throws Exception
- {
- return new SpoolFile(File.createTempFile(prefix, suffix, directory).getAbsolutePath());
- }
- };
- try
- {
- return (SpoolFile)AccessController.doPrivileged(action);
- }
- catch (PrivilegedActionException pae)
- {
- Throwable cause = pae.getCause();
- if (cause instanceof IOException)
- {
- throw (IOException)cause;
- }
- else if (cause instanceof RuntimeException)
- {
- throw (RuntimeException)cause;
- }
- else
- {
- throw new RuntimeException(cause);
- }
- }
+ return new SpoolFile(PrivilegedFileHelper.getAbsolutePath(PrivilegedFileHelper.createTempFile(prefix, suffix,
+ directory)));
}
public synchronized void acquire(Object holder) throws FileNotFoundException
14 years
exo-jcr SVN: r2557 - in jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl: dataflow and 3 other directories.
by do-not-reply@jboss.org
Author: tolusha
Date: 2010-06-11 10:42:21 -0400 (Fri, 11 Jun 2010)
New Revision: 2557
Added:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/PrivilegedFileHelper.java
Modified:
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionFactory.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/FileDigestOutputStream.java
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/ValueFileOperation.java
jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/SpoolFile.java
Log:
EXOJCR-756: add PrivilegedFileHelper
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionFactory.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionFactory.java 2010-06-11 13:41:42 UTC (rev 2556)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/core/SessionFactory.java 2010-06-11 14:42:21 UTC (rev 2557)
@@ -27,6 +27,9 @@
import org.exoplatform.services.security.ConversationState;
import org.exoplatform.services.transaction.TransactionService;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+
import javax.jcr.LoginException;
import javax.jcr.RepositoryException;
@@ -59,44 +62,52 @@
*/
public SessionFactory(TransactionService tService, WorkspaceEntry config, ExoContainerContext containerContext)
{
-
this.container = containerContext.getContainer();
this.workspaceName = config.getName();
this.tService = tService;
this.txResourceManager = new TransactionableResourceManager();
- boolean tracking = "true".equalsIgnoreCase(System.getProperty("exo.jcr.session.tracking.active", "false"));
- if (tracking)
+ PrivilegedAction<Object> action = new PrivilegedAction<Object>()
{
- long maxAgeMillis = 0;
-
- String maxagevalue = System.getProperty("exo.jcr.jcr.session.tracking.maxage");
- if (maxagevalue != null)
+ public Object run()
{
- try
+ boolean tracking = "true".equalsIgnoreCase(System.getProperty("exo.jcr.session.tracking.active", "false"));
+ if (tracking)
{
- maxAgeMillis = Long.parseLong(maxagevalue) * 1000;
- }
- catch (NumberFormatException e)
- {
+ long maxAgeMillis = 0;
+
+ String maxagevalue = System.getProperty("exo.jcr.jcr.session.tracking.maxage");
+ if (maxagevalue != null)
+ {
+ try
+ {
+ maxAgeMillis = Long.parseLong(maxagevalue) * 1000;
+ }
+ catch (NumberFormatException e)
+ {
+ //
+ }
+ }
+ if (maxAgeMillis <= 0)
+ {
+ maxAgeMillis = 1000 * 60 * 2; // 2 mns
+ }
+
//
+ try
+ {
+ SessionReference.start(maxAgeMillis);
+ }
+ catch (Exception e)
+ {
+ e.printStackTrace();
+ }
}
- }
- if (maxAgeMillis <= 0)
- {
- maxAgeMillis = 1000 * 60 * 2; // 2 mns
- }
- //
- try
- {
- SessionReference.start(maxAgeMillis);
+ return null;
}
- catch (Exception e)
- {
- e.printStackTrace();
- }
- }
+ };
+ AccessController.doPrivileged(action);
}
/**
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java 2010-06-11 13:41:42 UTC (rev 2556)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/dataflow/TransientValueData.java 2010-06-11 14:42:21 UTC (rev 2557)
@@ -27,6 +27,7 @@
import org.exoplatform.services.jcr.impl.dataflow.persistent.FilePersistedValueData;
import org.exoplatform.services.jcr.impl.util.JCRDateFormat;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.impl.util.io.SpoolFile;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -211,7 +212,7 @@
{
if (spoolFile != null)
{
- return new FileInputStream(spoolFile); // from spool file
+ return PrivilegedFileHelper.fileInputStream(spoolFile); // from spool file
}
else
{
@@ -260,7 +261,7 @@
}
else
{
- return spoolFile.length();
+ return PrivilegedFileHelper.length(spoolFile);
}
}
@@ -379,6 +380,7 @@
/**
* {@inheritDoc}
*/
+ @Override
protected void finalize() throws Throwable
{
deleteCurrentSpoolFile();
@@ -568,7 +570,8 @@
sf = SpoolFile.createTempFile("jcrvd", null, tempDirectory);
sf.acquire(this);
- sfout = new FileOutputStream(sf);
+ sfout = PrivilegedFileHelper.fileOutputStream(sf);
+
sfout.write(buffer, 0, len);
sfout.write(tmpBuff, 0, read);
buffer = null;
@@ -691,7 +694,7 @@
if (spoolFile instanceof SpoolFile)
{
- ((SpoolFile)spoolFile).release(this);
+ (spoolFile).release(this);
}
if (deleteSpoolFile && spoolFile.exists())
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/FileDigestOutputStream.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/FileDigestOutputStream.java 2010-06-11 13:41:42 UTC (rev 2556)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/FileDigestOutputStream.java 2010-06-11 14:42:21 UTC (rev 2557)
@@ -18,8 +18,9 @@
*/
package org.exoplatform.services.jcr.impl.storage.value.fs;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
+
import java.io.File;
-import java.io.FileOutputStream;
import java.io.IOException;
import java.security.DigestOutputStream;
import java.security.MessageDigest;
@@ -43,7 +44,7 @@
FileDigestOutputStream(File file, MessageDigest digest) throws IOException
{
- super(new FileOutputStream(file), digest);
+ super(PrivilegedFileHelper.fileOutputStream(file), digest);
this.file = file;
}
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-11 13:41:42 UTC (rev 2556)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/CASableWriteValue.java 2010-06-11 14:42:21 UTC (rev 2557)
@@ -27,6 +27,7 @@
import org.exoplatform.services.jcr.impl.storage.value.fs.CASableIOSupport;
import org.exoplatform.services.jcr.impl.storage.value.fs.FileDigestOutputStream;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.jcr.util.IdGenerator;
import java.io.File;
@@ -168,15 +169,15 @@
throw new RecordAlreadyExistsException("Write error: " + e, e);
}
- if (!vcasFile.exists())
+ if (!PrivilegedFileHelper.exists(vcasFile))
{
// it's new CAS Value, we have to move temp to vcas location
// use RENAME only, don't copy - as copy will means that destination already exists etc.
// make sure parent dir exists
- vcasFile.getParentFile().mkdirs();
+ PrivilegedFileHelper.mkdirs(vcasFile.getParentFile());
// rename propetynamed file to hashnamed one
- if (!tempFile.renameTo(vcasFile))
+ if (!PrivilegedFileHelper.renameTo(tempFile, vcasFile))
{
throw new VCASException("File " + tempFile.getAbsolutePath() + " can't be renamed to VCAS-named "
+ vcasFile.getAbsolutePath());
@@ -193,7 +194,7 @@
finally
{
// remove temp file
- tempFile.delete(); // should be ok without file cleaner
+ PrivilegedFileHelper.delete(tempFile); // should be ok without file cleaner
fileLock.unlock();
}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileOperation.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileOperation.java 2010-06-11 13:41:42 UTC (rev 2556)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/storage/value/fs/operations/ValueFileOperation.java 2010-06-11 14:42:21 UTC (rev 2557)
@@ -22,6 +22,7 @@
import org.exoplatform.services.jcr.impl.storage.value.ValueOperation;
import org.exoplatform.services.jcr.impl.storage.value.fs.FileLockException;
import org.exoplatform.services.jcr.impl.util.io.FileCleaner;
+import org.exoplatform.services.jcr.impl.util.io.PrivilegedFileHelper;
import org.exoplatform.services.log.ExoLogger;
import org.exoplatform.services.log.Log;
@@ -256,7 +257,7 @@
// lock in JVM (wait for unlock if required)
try
{
- return resources.aquire(file.getAbsolutePath(), new ValueFileLockHolder(file));
+ return resources.aquire(PrivilegedFileHelper.getAbsolutePath(file), new ValueFileLockHolder(file));
}
catch (InterruptedException e)
{
@@ -273,7 +274,7 @@
*/
public boolean unlock() throws IOException
{
- return resources.release(file.getAbsolutePath());
+ return resources.release(PrivilegedFileHelper.getAbsolutePath(file));
}
}
Added: 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 (rev 0)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/PrivilegedFileHelper.java 2010-06-11 14:42:21 UTC (rev 2557)
@@ -0,0 +1,173 @@
+/*
+ * Copyright (C) 2010 eXo Platform SAS.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.exoplatform.services.jcr.impl.util.io;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.security.AccessController;
+import java.security.PrivilegedAction;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
+
+/**
+ * @author <a href="anatoliy.bazko(a)exoplatform.org">Anatoliy Bazko</a>
+ * @version $Id: SecurityFileHelper.java 111 2010-11-11 11:11:11Z tolusha $
+ *
+ * Class helper need for perform privileged file operations.
+ */
+public class PrivilegedFileHelper
+{
+
+ public static FileOutputStream fileOutputStream(final File file) throws FileNotFoundException
+ {
+ PrivilegedExceptionAction<Object> action = new PrivilegedExceptionAction<Object>()
+ {
+ public Object run() throws Exception
+ {
+ return new FileOutputStream(file);
+ }
+ };
+ try
+ {
+ return (FileOutputStream)AccessController.doPrivileged(action);
+ }
+ catch (PrivilegedActionException pae)
+ {
+ Throwable cause = pae.getCause();
+ if (cause instanceof FileNotFoundException)
+ {
+ throw (FileNotFoundException)cause;
+ }
+ else if (cause instanceof RuntimeException)
+ {
+ throw (RuntimeException)cause;
+ }
+ else
+ {
+ throw new RuntimeException(cause);
+ }
+ }
+ }
+
+ public static FileInputStream fileInputStream(final File file) throws FileNotFoundException
+ {
+ PrivilegedExceptionAction<Object> action = new PrivilegedExceptionAction<Object>()
+ {
+ public Object run() throws Exception
+ {
+ return new FileInputStream(file);
+ }
+ };
+ try
+ {
+ return (FileInputStream)AccessController.doPrivileged(action);
+ }
+ catch (PrivilegedActionException pae)
+ {
+ Throwable cause = pae.getCause();
+ if (cause instanceof FileNotFoundException)
+ {
+ throw (FileNotFoundException)cause;
+ }
+ else if (cause instanceof RuntimeException)
+ {
+ throw (RuntimeException)cause;
+ }
+ else
+ {
+ throw new RuntimeException(cause);
+ }
+ }
+ }
+
+ public static long length(final File file)
+ {
+ PrivilegedAction<Object> action = new PrivilegedAction<Object>()
+ {
+ public Object run()
+ {
+ return new Long(file.length());
+ }
+ };
+ return (Long)AccessController.doPrivileged(action);
+ }
+
+ public static String getAbsolutePath(final File file)
+ {
+ PrivilegedAction<Object> action = new PrivilegedAction<Object>()
+ {
+ public Object run()
+ {
+ return file.getAbsolutePath();
+ }
+ };
+ return (String)AccessController.doPrivileged(action);
+ }
+
+ public static boolean delete(final File file)
+ {
+ PrivilegedAction<Object> action = new PrivilegedAction<Object>()
+ {
+ public Object run()
+ {
+ return file.delete();
+ }
+ };
+ return (Boolean)AccessController.doPrivileged(action);
+ }
+
+ public static boolean exists(final File file)
+ {
+ PrivilegedAction<Object> action = new PrivilegedAction<Object>()
+ {
+ public Object run()
+ {
+ return file.exists();
+ }
+ };
+ return (Boolean)AccessController.doPrivileged(action);
+ }
+
+ public static void mkdirs(final File file)
+ {
+ PrivilegedAction<Object> action = new PrivilegedAction<Object>()
+ {
+ public Object run()
+ {
+ file.mkdirs();
+ return null;
+ }
+ };
+ AccessController.doPrivileged(action);
+ }
+
+ public static boolean renameTo(final File srcFile, final File dstfile)
+ {
+ PrivilegedAction<Object> action = new PrivilegedAction<Object>()
+ {
+ public Object run()
+ {
+ return new Boolean(srcFile.renameTo(dstfile));
+ }
+ };
+ return (Boolean)AccessController.doPrivileged(action);
+ }
+}
Modified: jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/SpoolFile.java
===================================================================
--- jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/SpoolFile.java 2010-06-11 13:41:42 UTC (rev 2556)
+++ jcr/trunk/exo.jcr.component.core/src/main/java/org/exoplatform/services/jcr/impl/util/io/SpoolFile.java 2010-06-11 14:42:21 UTC (rev 2557)
@@ -24,6 +24,9 @@
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
+import java.security.AccessController;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
import java.util.Map;
import java.util.WeakHashMap;
@@ -65,9 +68,36 @@
super(absPath);
}
- public static SpoolFile createTempFile(String prefix, String suffix, File directory) throws IOException
+ public static SpoolFile createTempFile(final String prefix, final String suffix, final File directory)
+ throws IOException
{
- return new SpoolFile(File.createTempFile(prefix, suffix, directory).getAbsolutePath());
+ PrivilegedExceptionAction<Object> action = new PrivilegedExceptionAction<Object>()
+ {
+ public Object run() throws Exception
+ {
+ return new SpoolFile(File.createTempFile(prefix, suffix, directory).getAbsolutePath());
+ }
+ };
+ try
+ {
+ return (SpoolFile)AccessController.doPrivileged(action);
+ }
+ catch (PrivilegedActionException pae)
+ {
+ Throwable cause = pae.getCause();
+ if (cause instanceof IOException)
+ {
+ throw (IOException)cause;
+ }
+ else if (cause instanceof RuntimeException)
+ {
+ throw (RuntimeException)cause;
+ }
+ else
+ {
+ throw new RuntimeException(cause);
+ }
+ }
}
public synchronized void acquire(Object holder) throws FileNotFoundException
14 years