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.nodebuilder;
35
36 import info.magnolia.cms.beans.runtime.File;
37 import info.magnolia.cms.core.Content;
38 import info.magnolia.cms.core.ItemType;
39 import info.magnolia.cms.core.NodeData;
40 import info.magnolia.jcr.util.NodeTypes;
41
42 import java.io.InputStream;
43
44 import javax.jcr.RepositoryException;
45
46 import org.apache.commons.lang3.StringUtils;
47
48
49
50
51
52
53
54 @Deprecated
55 public class ContentOps {
56
57 public static NodeOperation createContent(String name, ItemType type) {
58 return Ops.addNode(name, type);
59 }
60
61 public static NodeOperation createPage(String name, String template) {
62 return createContent(name, ItemType.CONTENT).then(
63 setTemplate(template));
64 }
65
66 public static NodeOperation createCollectionNode(String name) {
67 return createContent(name, ItemType.CONTENTNODE);
68 }
69
70 public static NodeOperation createParagraph(String name, String template) {
71 return createContent(name, ItemType.CONTENTNODE).then(
72 setTemplate(template));
73 }
74
75 public static NodeOperation setNodeData(final String name, final Object value) {
76 return new AbstractNodeOperation() {
77
78 @Override
79 protected Content="../../../info/magnolia/cms/core/Content.html#Content">Content doExec(Content context, ErrorHandler errorHandler) throws RepositoryException {
80 context.setNodeData(name, value);
81 return context;
82 }
83 };
84 }
85
86 public static NodeOperation setBinaryNodeData(final String name, final String fileName, final long size, final InputStream inputStream) {
87 return new AbstractNodeOperation() {
88
89 @Override
90 protected Content="../../../info/magnolia/cms/core/Content.html#Content">Content doExec(Content context, ErrorHandler errorHandler) throws RepositoryException {
91 NodeData binary = context.setNodeData(name, inputStream);
92 binary.setAttribute(File.PROPERTY_FILENAME, StringUtils.substringBeforeLast(fileName, "."));
93 binary.setAttribute(File.PROPERTY_EXTENSION, StringUtils.substringAfterLast(fileName, "."));
94 binary.setAttribute(File.PROPERTY_SIZE, Long.toString(size));
95 return context;
96 }
97 };
98 }
99
100 public static NodeOperation setTemplate(final String template) {
101 return new AbstractNodeOperation() {
102
103 @Override
104 protected Content="../../../info/magnolia/cms/core/Content.html#Content">Content doExec(Content context, ErrorHandler errorHandler) throws RepositoryException {
105 NodeTypes.Renderable.set(context.getJCRNode(), template);
106 return context;
107 }
108 };
109 }
110
111 }