Author: reto
Date: Sat Jun 16 12:59:38 2012
New Revision: 1350919
URL: http://svn.apache.org/viewvc?rev=1350919&view=rev
Log:
CLEREZZA-705: removed accidental ignore, added file
Added:
incubator/clerezza/trunk/parent/bundledevtool/src/main/scala/org/apache/clerezza/bundledevtool/PermissionGrantingPathNode.scala
Modified:
incubator/clerezza/trunk/parent/bundledevtool/src/main/scala/org/apache/clerezza/bundledevtool/
(props changed)
Propchange:
incubator/clerezza/trunk/parent/bundledevtool/src/main/scala/org/apache/clerezza/bundledevtool/
('svn:ignore' removed)
Added:
incubator/clerezza/trunk/parent/bundledevtool/src/main/scala/org/apache/clerezza/bundledevtool/PermissionGrantingPathNode.scala
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/bundledevtool/src/main/scala/org/apache/clerezza/bundledevtool/PermissionGrantingPathNode.scala?rev=1350919&view=auto
==============================================================================
---
incubator/clerezza/trunk/parent/bundledevtool/src/main/scala/org/apache/clerezza/bundledevtool/PermissionGrantingPathNode.scala
(added)
+++
incubator/clerezza/trunk/parent/bundledevtool/src/main/scala/org/apache/clerezza/bundledevtool/PermissionGrantingPathNode.scala
Sat Jun 16 12:59:38 2012
@@ -0,0 +1,26 @@
+package org.apache.clerezza.bundledevtool
+
+import org.wymiwyg.commons.util.dirbrowser.PathNode
+import java.security.AccessController
+import java.security.PrivilegedAction
+
+class PermissionGrantingPathNode(wrapped: PathNode) extends PathNode {
+
+ def doPrivileged[T](m: => T): T = {
+ AccessController.doPrivileged(new PrivilegedAction[T] {
+ def run: T = {
+ m
+ }
+ })
+ }
+
+ def exists(): Boolean = doPrivileged(wrapped.exists())
+ def getLastModified(): java.util.Date =
doPrivileged(wrapped.getLastModified())
+ def getPath(): String = doPrivileged(wrapped.getPath())
+ def getLength(): Long = doPrivileged(wrapped.getLength())
+ def getInputStream(): java.io.InputStream =
doPrivileged(wrapped.getInputStream())
+ def list(): Array[String] = doPrivileged(wrapped.list())
+ def list(filter: org.wymiwyg.commons.util.dirbrowser.PathNameFilter):
Array[String] = doPrivileged(wrapped.list(filter))
+ def isDirectory(): Boolean = doPrivileged(wrapped.isDirectory())
+ def getSubPath(subPath: String): PathNode = doPrivileged(new
PermissionGrantingPathNode(wrapped.getSubPath(subPath)))
+}
\ No newline at end of file