1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 package info.magnolia.module.blossom.support;
35
36 import info.magnolia.cms.beans.config.ContentRepository;
37 import info.magnolia.cms.core.Content;
38 import info.magnolia.cms.core.HierarchyManager;
39 import info.magnolia.cms.core.ItemType;
40 import info.magnolia.cms.core.NodeData;
41 import info.magnolia.cms.util.ContentUtil;
42 import info.magnolia.context.MgnlContext;
43
44 import javax.jcr.RepositoryException;
45
46
47
48
49 public class RepositoryUtils {
50
51 public static Content getWebsiteContentByUuid(String uuid) {
52 try {
53 HierarchyManager hierarchyManager = MgnlContext.getSystemContext().getHierarchyManager(ContentRepository.WEBSITE);
54 return hierarchyManager.getContentByUUID(uuid);
55 } catch (RepositoryException e) {
56 return null;
57 }
58 }
59
60 public static String getLocalContentNodeUuid() {
61 Content content = getLocalContentNode();
62 if (content != null)
63 return content.getUUID();
64 return null;
65 }
66
67 public static String getLocalNodeData(String name) {
68 return getNodeData(getLocalContentNode(), name);
69 }
70
71 public static String getNodeData(Content content, String name) {
72 if (content == null)
73 return null;
74 NodeData data = content.getNodeData(name);
75 if (data == null)
76 return null;
77 return data.getString();
78 }
79
80 public static boolean hasNodeData(Content content, String name) throws RepositoryException {
81 return content != null && content.hasNodeData(name);
82 }
83
84 public static Content getLocalContentNode() {
85 return MgnlContext.getWebContext().getAggregationState().getCurrentContent();
86 }
87
88 public static Content createContentNode(HierarchyManager hierarchyManager, String absolutePath, String name) throws RepositoryException {
89 Content dialogsNode = ContentUtil.createPath(hierarchyManager, absolutePath, ItemType.CONTENT, true);
90 return dialogsNode.createContent(name, ItemType.CONTENTNODE);
91 }
92
93 public static void deleteContent(HierarchyManager hierarchyManager, String absolutePath) throws RepositoryException {
94 if (hierarchyManager.isExist(absolutePath)) {
95 Content content = hierarchyManager.getContent(absolutePath);
96 Content parent = content.getParent();
97 content.delete();
98 parent.save();
99 }
100 }
101 }