1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.exoplatform.services.cms.thumbnail.impl;
18
19 import javax.jcr.ItemExistsException;
20 import javax.jcr.Node;
21 import javax.jcr.RepositoryException;
22
23 import org.exoplatform.services.cms.thumbnail.ThumbnailService;
24 import org.exoplatform.services.log.ExoLogger;
25 import org.exoplatform.services.log.Log;
26
27
28
29
30
31
32
33 public final class ThumbnailUtils {
34
35 private static final Log LOG = ExoLogger.getLogger(ThumbnailUtils.class.getName());
36
37 public static synchronized Node getThumbnailFolder(Node parentNode) throws RepositoryException {
38 if (!parentNode.hasNode(ThumbnailService.EXO_THUMBNAILS_FOLDER)) {
39 try {
40 Node thumbnailFolder = parentNode.addNode(ThumbnailService.EXO_THUMBNAILS_FOLDER,
41 ThumbnailService.EXO_THUMBNAILS);
42 parentNode.getSession().save();
43 if (thumbnailFolder.canAddMixin(ThumbnailService.HIDDENABLE_NODETYPE)) {
44 thumbnailFolder.addMixin(ThumbnailService.HIDDENABLE_NODETYPE);
45 }
46 parentNode.getSession().save();
47 return thumbnailFolder;
48 } catch (ItemExistsException e) {
49 return parentNode.getNode(ThumbnailService.EXO_THUMBNAILS_FOLDER);
50 }
51 }
52 return parentNode.getNode(ThumbnailService.EXO_THUMBNAILS_FOLDER);
53 }
54
55 public static synchronized Node getThumbnailNode(Node thumbnailFolder, String identifier) throws RepositoryException {
56 if (!thumbnailFolder.hasNode(identifier)) {
57 try {
58 Node thumbnailNode = thumbnailFolder.addNode(identifier, ThumbnailService.EXO_THUMBNAIL);
59 thumbnailFolder.getSession().save();
60 return thumbnailNode;
61 } catch (ItemExistsException e) {
62 return thumbnailFolder.getNode(identifier);
63 }
64 }
65 return thumbnailFolder.getNode(identifier);
66 }
67 }