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/06/18 16:26:47 UTC

svn commit: r1137190 - in /incubator/clerezza/trunk/parent/rdf.storage.web/src/main: resources/OSGI-INF/metatype/ resources/OSGI-INF/metatype/metatype.xml resources/OSGI-INF/serviceComponents.xml scala/WebProxy.scala

Author: reto
Date: Sat Jun 18 14:26:46 2011
New Revision: 1137190

URL: http://svn.apache.org/viewvc?rev=1137190&view=rev
Log:
CLEREZZA-569: configurable networking timeout with default value of 3000 ms

Added:
    incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/metatype/
    incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/metatype/metatype.xml
Modified:
    incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/serviceComponents.xml
    incubator/clerezza/trunk/parent/rdf.storage.web/src/main/scala/WebProxy.scala

Added: incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/metatype/metatype.xml
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/metatype/metatype.xml?rev=1137190&view=auto
==============================================================================
--- incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/metatype/metatype.xml (added)
+++ incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/metatype/metatype.xml Sat Jun 18 14:26:46 2011
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metatype:MetaData xmlns:metatype="http://www.osgi.org/xmlns/metatype/v1.0.0" localization="OSGI-INF/metatype/metatype">
+    <OCD id="org.apache.clerezza.rdf.storage.web.WebProxy"
+		 name="Clerezza SCB Web Storage Provider"
+		 description="%org.apache.clerezza.rdf.storage.web.WebProxy.description">
+        <AD id="network-timeout" type="int" default="false" name="Network Timeout" description="Specifies the network timeout in ms."/>
+    </OCD>
+    <Designate pid="org.apache.clerezza.rdf.storage.web.WebProxy">
+        <Object ocdref="org.apache.clerezza.rdf.storage.web.WebProxy"/>
+    </Designate>
+</metatype:MetaData>
\ No newline at end of file

Modified: incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/serviceComponents.xml
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/serviceComponents.xml?rev=1137190&r1=1137189&r2=1137190&view=diff
==============================================================================
--- incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/serviceComponents.xml (original)
+++ incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/serviceComponents.xml Sat Jun 18 14:26:46 2011
@@ -12,6 +12,7 @@
                    cardinality="1..n" policy="dynamic" bind="bindWeightedTcProvider" unbind="unbindWeightedTcProvider"/>
 		<reference name="parser" interface="org.apache.clerezza.rdf.core.serializedform.Parser"
 		cardinality="1..1" policy="static" bind="bindParser" unbind="unbindParser"/>
+		<property name="org.apache.clerezza.rdf.storage.web.network-timeout" value="3000" type="Integer"/>
 	</scr:component>
 
 </components>

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=1137190&r1=1137189&r2=1137190&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 Sat Jun 18 14:26:46 2011
@@ -31,6 +31,7 @@ import org.slf4j.scala._
 import org.apache.clerezza.rdf.core.access._
 import org.apache.clerezza.rdf.core.impl.AbstractMGraph
 import org.apache.clerezza.rdf.core._
+import java.sql.Time
 
 /**
  * The Web Proxy Service enables applications to request remote (and local) graphs.
@@ -39,6 +40,10 @@ import org.apache.clerezza.rdf.core._
  */
 class WebProxy extends WeightedTcProvider with Logging {
 
+	val networkTimeoutKey = "network-timeout"
+
+	private var networkTimeout: Int = _
+
 	private var tcProvider: TcProviderMultiplexer = new TcProviderMultiplexer
 
 	/**
@@ -63,7 +68,7 @@ class WebProxy extends WeightedTcProvide
 
 	/**OSGI method, called on activation */
 	protected def activate(context: ComponentContext) = {
-
+		networkTimeout = Integer.parseInt(context.getProperties.get(networkTimeoutKey).toString)
 	}
 
 
@@ -174,7 +179,11 @@ class WebProxy extends WeightedTcProvide
 			val url = new URL(name.getUnicodeString)
 			val connection = url.openConnection()
 			connection match {
-				case hc: HttpURLConnection => hc.addRequestProperty("Accept", acceptHeader);
+				case hc: HttpURLConnection => {
+					hc.addRequestProperty("Accept", acceptHeader)
+					hc.setReadTimeout(networkTimeout)
+					hc.setConnectTimeout(networkTimeout)
+				};
 			}
 			connection.connect()
 			val in = connection.getInputStream()