You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@clerezza.apache.org by mi...@apache.org on 2010/08/30 11:15:54 UTC

svn commit: r990736 - /incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content.representations/org.apache.clerezza.platform.content.representations.core/src/main/java/org/apache/clerezza/platform/content/representations...

Author: mir
Date: Mon Aug 30 09:15:52 2010
New Revision: 990736

URL: http://svn.apache.org/viewvc?rev=990736&view=rev
Log:
CLEREZZA-290: added missing locks

Modified:
    incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content.representations/org.apache.clerezza.platform.content.representations.core/src/main/java/org/apache/clerezza/platform/content/representations/core/ThumbnailService.java

Modified: incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content.representations/org.apache.clerezza.platform.content.representations.core/src/main/java/org/apache/clerezza/platform/content/representations/core/ThumbnailService.java
URL: http://svn.apache.org/viewvc/incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content.representations/org.apache.clerezza.platform.content.representations.core/src/main/java/org/apache/clerezza/platform/content/representations/core/ThumbnailService.java?rev=990736&r1=990735&r2=990736&view=diff
==============================================================================
--- incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content.representations/org.apache.clerezza.platform.content.representations.core/src/main/java/org/apache/clerezza/platform/content/representations/core/ThumbnailService.java (original)
+++ incubator/clerezza/trunk/org.apache.clerezza.parent/org.apache.clerezza.platform.content.representations/org.apache.clerezza.platform.content.representations.core/src/main/java/org/apache/clerezza/platform/content/representations/core/ThumbnailService.java Mon Aug 30 09:15:52 2010
@@ -131,11 +131,21 @@ public class ThumbnailService implements
 			return Response.seeOther(
 					URI.create((thumbnailUri).getUnicodeString())).build();
 		}		
-		
-		Iterator<Resource> mediaTypes = infoBitNode.getObjects(DISCOBITS.mediaType);
-		if (mediaTypes.hasNext()) {
+			
+		TypedLiteral mediaTypeLiteral = null;
+		Lock readLock = infoBitNode.readLock();
+		readLock.lock();
+		try {	
+			Iterator<Resource> mediaTypes = infoBitNode.getObjects(DISCOBITS.mediaType);			
+			if (mediaTypes.hasNext()) {
+				mediaTypeLiteral = (TypedLiteral) mediaTypes.next();
+			}
+		} finally {
+			readLock.unlock();
+		}
+		if (mediaTypeLiteral != null) {
 			MediaType mediaType = MediaType.valueOf(LiteralFactory.getInstance().createObject(
-					String.class, (TypedLiteral) mediaTypes.next()));
+					String.class, mediaTypeLiteral));
 			// if the infoBit is an image, create a thumbnail on the fly.
 			if (mediaType.getType().startsWith("image")) {
 				try {