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


Reply via email to