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 javax.jcr.RepositoryException;
37
38 import info.magnolia.cms.beans.config.ContentRepository;
39 import info.magnolia.cms.core.Content;
40 import info.magnolia.cms.core.HierarchyManager;
41 import info.magnolia.cms.core.ItemType;
42 import info.magnolia.cms.core.NodeData;
43 import info.magnolia.cms.util.ContentUtil;
44 import info.magnolia.context.MgnlContext;
45
46
47
48
49
50
51 public class RepositoryUtils {
52
53 public static Content getWebsiteContentByUuid(String uuid) {
54 try {
55 HierarchyManager hierarchyManager = MgnlContext.getSystemContext().getHierarchyManager(ContentRepository.WEBSITE);
56 return hierarchyManager.getContentByUUID(uuid);
57 } catch (RepositoryException e) {
58 return null;
59 }
60 }
61
62 public static String getLocalContentNodeUuid() {
63 Content content = getLocalContentNode();
64 if (content != null) {
65 return content.getUUID();
66 }
67 return null;
68 }
69
70 public static String getLocalNodeData(String name) {
71 return getNodeData(getLocalContentNode(), name);
72 }
73
74 public static String getNodeData(Content content, String name) {
75 if (content == null) {
76 return null;
77 }
78 NodeData data = content.getNodeData(name);
79 if (data == null) {
80 return null;
81 }
82 return data.getString();
83 }
84
85 public static boolean hasNodeData(Content content, String name) throws RepositoryException {
86 return content != null && content.hasNodeData(name);
87 }
88
89 public static Content getLocalContentNode() {
90 return MgnlContext.getWebContext().getAggregationState().getCurrentContent();
91 }
92
93 public static Content createContentNode(HierarchyManager hierarchyManager, String absolutePath, String name) throws RepositoryException {
94 Content dialogsNode = ContentUtil.createPath(hierarchyManager, absolutePath, ItemType.CONTENT, true);
95 return dialogsNode.createContent(name, ItemType.CONTENTNODE);
96 }
97
98 public static void deleteContent(HierarchyManager hierarchyManager, String absolutePath) throws RepositoryException {
99 if (hierarchyManager.isExist(absolutePath)) {
100 Content content = hierarchyManager.getContent(absolutePath);
101 Content parent = content.getParent();
102 content.delete();
103 parent.save();
104 }
105 }
106 }