You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by re...@apache.org on 2011/05/22 02:55:38 UTC

svn commit: r1125858 - /incubator/clerezza/trunk/parent/rdf.storage.web/src/main/scala/WebProxy.scala

Author: reto
Date: Sun May 22 00:55:37 2011
New Revision: 1125858

URL: http://svn.apache.org/viewvc?rev=1125858&view=rev
Log:
CLEREZZA-533: reverted as requested by Henry

Modified:
    incubator/clerezza/trunk/parent/rdf.storage.web/src/main/scala/WebProxy.scala

Modified: incubator/clerezza/trunk/parent/rdf.storage.web/src/main/scala/WebProxy.scala
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/rdf.storage.web/src/main/scala/WebProxy.scala?rev=1125858&r1=1125857&r2=1125858&view=diff
==============================================================================
--- incubator/clerezza/trunk/parent/rdf.storage.web/src/main/scala/WebProxy.scala (original)
+++ incubator/clerezza/trunk/parent/rdf.storage.web/src/main/scala/WebProxy.scala Sun May 22 00:55:37 2011
@@ -160,10 +160,6 @@ class WebProxy extends WeightedTcProvide
 	 */
 	def getGraph(name: UriRef, updatePolicy: Cache.Value): Graph = {
 		logger.debug("getting graph " + name)
-		if (name.getUnicodeString.indexOf('#') != -1) {
-			logger.debug("not dereferencing URI with hash sign")
-			throw new NoSuchEntityException(name)
-		}
 		val cacheGraphName = new UriRef("urn:x-localinstance:/cache/" + name.getUnicodeString)
 		//todo: follow redirects and keep track of them
 		//todo: keep track of headers especially date and etag. test for etag similarity
@@ -189,15 +185,31 @@ class WebProxy extends WeightedTcProvide
 				tcProvider.createGraph(cacheGraphName, remoteTriples)
 			}
 		}
-		//the logic here is not quite right, as we don't look at time of previous fetch.
-		updatePolicy match {
-			case Cache.Fetch => try {
-				tcProvider.getGraph(cacheGraphName)
-			} catch {
-				case e: NoSuchEntityException => updateGraph(); tcProvider.getGraph(cacheGraphName)
+		try {
+			//the logic here is not quite right, as we don't look at time of previous fetch.
+			updatePolicy match {
+				case Cache.Fetch => try {
+					tcProvider.getGraph(cacheGraphName)
+				} catch {
+					case e: NoSuchEntityException => updateGraph(); tcProvider.getGraph(cacheGraphName)
+				}
+				case Cache.ForceUpdate => updateGraph(); tcProvider.getGraph(cacheGraphName)
+				case Cache.CacheOnly => tcProvider.getGraph(cacheGraphName)
+			}
+		} catch {
+			case ex: PrivilegedActionException => {
+				var cause: Throwable = ex.getCause
+				if (cause.isInstanceOf[UnsupportedOperationException]) {
+					throw cause.asInstanceOf[UnsupportedOperationException]
+				}
+				if (cause.isInstanceOf[EntityAlreadyExistsException]) {
+					throw cause.asInstanceOf[EntityAlreadyExistsException]
+				}
+				if (cause.isInstanceOf[RuntimeException]) {
+					throw cause.asInstanceOf[RuntimeException]
+				}
+				throw new RuntimeException(cause)
 			}
-			case Cache.ForceUpdate => updateGraph(); tcProvider.getGraph(cacheGraphName)
-			case Cache.CacheOnly => tcProvider.getGraph(cacheGraphName)
 		}
 	}
 
@@ -211,8 +223,6 @@ class WebProxy extends WeightedTcProvide
 				f match {
 					//the default, well established format
 					case SupportedFormat.RDF_XML => "1.0";
-					//n3 is a bit less well defined and/or many parsers supports only subsets
-					case SupportedFormat.N3 => "0.6";
 					//we prefer most dedicated formats to (X)HTML, not because those are "better",
 					//but just because it is quite likely that the pure RDF format will be
 					//lighter (contain less presentation markup), and it is also possible that HTML does not