Author: bblfish
Date: Sun May 22 00:41:30 2011
New Revision: 1125852

URL: http://svn.apache.org/viewvc?rev=1125852&view=rev
Log:
as a workaround to the patch #1104571 submitted for  CLEREZZA-533 "TcProvider 
does not (should not?) dereference URIs with hash" which means that URIs with 
hashes throw exceptions. Waiting until a consensus establishes itself on what 
should be done there. But this is needed in the meantime.

Modified:
    
incubator/clerezza/trunk/parent/platform.accountcontrolpanel/platform.accountcontrolpanel.core/src/main/scala/org/apache/clerezza/platform/accountcontrolpanel/FoafBrowser.scala

Modified: 
incubator/clerezza/trunk/parent/platform.accountcontrolpanel/platform.accountcontrolpanel.core/src/main/scala/org/apache/clerezza/platform/accountcontrolpanel/FoafBrowser.scala
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/platform.accountcontrolpanel/platform.accountcontrolpanel.core/src/main/scala/org/apache/clerezza/platform/accountcontrolpanel/FoafBrowser.scala?rev=1125852&r1=1125851&r2=1125852&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/parent/platform.accountcontrolpanel/platform.accountcontrolpanel.core/src/main/scala/org/apache/clerezza/platform/accountcontrolpanel/FoafBrowser.scala
 (original)
+++ 
incubator/clerezza/trunk/parent/platform.accountcontrolpanel/platform.accountcontrolpanel.core/src/main/scala/org/apache/clerezza/platform/accountcontrolpanel/FoafBrowser.scala
 Sun May 22 00:41:30 2011
@@ -20,9 +20,6 @@
 package org.apache.clerezza.platform.accountcontrolpanel
 
 import org.apache.clerezza.platform.accountcontrolpanel.ontologies.CONTROLPANEL
-import org.apache.clerezza.rdf.core._
-import access.TcManager
-import impl.SimpleMGraph
 import org.osgi.service.component.ComponentContext
 import javax.ws.rs._
 import javax.ws.rs.core.Context
@@ -32,9 +29,19 @@ import collection.JavaConversions._
 import org.slf4j.scala._
 import org.apache.clerezza.rdf.ontologies._
 import org.apache.clerezza.rdf.utils.{UnionMGraph, GraphNode}
-import org.apache.clerezza.platform.usermanager.UserManager
-import org.apache.clerezza.platform.security.UserUtil
 import java.security.{PrivilegedAction, AccessController}
+import org.apache.clerezza.rdf.core._
+import access.TcManager
+import impl.SimpleMGraph
+
+object FoafBrowser {
+       def removeHash(uri: UriRef) = {
+               val uriStr =uri.getUnicodeString
+               val hashpos = uriStr.indexOf("#")
+               if (hashpos>0)  new UriRef(uriStr.substring(0,hashpos))
+               else uri
+       }
+}
 
 /**
  * A Panel for browsing linked data of friends. This is a publicly accessible 
browser.
@@ -46,6 +53,7 @@ import java.security.{PrivilegedAction, 
 @Path("/browse")
 class FoafBrowser extends Logging {
        import org.apache.clerezza.rdf.scala.utils.EasyGraph._
+       import org.apache.clerezza.platform.accountcontrolpanel.FoafBrowser._
 
        protected def activate(componentContext: ComponentContext): Unit = {
 //             this.componentContext = componentContext
@@ -66,7 +74,7 @@ class FoafBrowser extends Logging {
                //so here the initial fetch could be used to decide if 
information is available at all,
                //ie, if the URL is accessible, if there are error conditions - 
try later for example...
                 val profile = AccessController.doPrivileged(new 
PrivilegedAction[Graph]() {
-                        def run() = tcManager.getGraph(uri)
+                        def run() = tcManager.getGraph(removeHash (uri))
                 });
 
                val inference = new EasyGraph(new UnionMGraph(new 
SimpleMGraph(),profile))


Reply via email to