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 {