Author: ito
Date: Wed Nov 10 14:27:52 2010
New Revision: 1033488

URL: http://svn.apache.org/viewvc?rev=1033488&view=rev
Log:
CLEREZZA-358: readlock set

Modified:
    
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.config/src/main/java/org/apache/clerezza/platform/config/PlatformConfig.java

Modified: 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.config/src/main/java/org/apache/clerezza/platform/config/PlatformConfig.java
URL: 
http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.config/src/main/java/org/apache/clerezza/platform/config/PlatformConfig.java?rev=1033488&r1=1033487&r2=1033488&view=diff
==============================================================================
--- 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.config/src/main/java/org/apache/clerezza/platform/config/PlatformConfig.java
 (original)
+++ 
incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.config/src/main/java/org/apache/clerezza/platform/config/PlatformConfig.java
 Wed Nov 10 14:27:52 2010
@@ -87,18 +87,25 @@ public class PlatformConfig {
 
                        @Override
                        public UriRef run() {
-                               Iterator<Resource> triples = 
getPlatformInstance().getObjects(PLATFORM.defaultBaseUri);
-                               if (triples.hasNext()) {
-                                       return (UriRef) triples.next();
-                               } else {
-                                       String port = 
context.getProperty("org.osgi.service.http.port");
-                                       if (port == null) {
-                                               port = DEFAULT_PORT;
+                               GraphNode platformInstance = 
getPlatformInstance();
+                               Lock l = platformInstance.readLock();
+                               l.lock();
+                               try {
+                                       Iterator<Resource> triples = 
platformInstance.getObjects(PLATFORM.defaultBaseUri);
+                                       if (triples.hasNext()) {
+                                               return (UriRef) triples.next();
+                                       } else {
+                                               String port = 
context.getProperty("org.osgi.service.http.port");
+                                               if (port == null) {
+                                                       port = DEFAULT_PORT;
+                                               }
+                                               if (port.equals("80")) {
+                                                       return new 
UriRef("http://localhost/";);
+                                               }
+                                               return new 
UriRef("http://localhost:"; + port + "/");
                                        }
-                                       if (port.equals("80")) {
-                                               return new 
UriRef("http://localhost/";);
-                                       }
-                                       return new UriRef("http://localhost:"; + 
port + "/");
+                               } finally {
+                                       l.unlock();
                                }
                        }
                });


Reply via email to