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.cms.beans.runtime;
35
36 import info.magnolia.cms.core.NodeData;
37 import info.magnolia.cms.util.ContentUtil;
38 import info.magnolia.context.MgnlContext;
39
40 import java.io.InputStream;
41
42 import javax.jcr.Node;
43 import javax.jcr.RepositoryException;
44
45 import org.apache.commons.lang3.math.NumberUtils;
46
47
48
49
50
51 public class File {
52
53 private Node node;
54
55 private String extension;
56
57 private String fileName;
58
59 private String contentType;
60
61 private int size;
62
63
64
65
66 @Deprecated
67 public File(NodeData data) {
68 initFile(data);
69 }
70
71 public File(Node node) {
72 this.node = node;
73
74 try {
75 if (node.hasProperty("extension")) {
76 setExtension(node.getProperty("extension").getString());
77 }
78 if (node.hasProperty("fileName")) {
79 setFileName(node.getProperty("fileName").getString());
80 }
81 if (node.hasProperty("contentType")) {
82 setContentType(node.getProperty("contentType").getString());
83 }
84
85 if (node.hasProperty("size")) {
86 String sizeString = node.getProperty("size").getString();
87 if (NumberUtils.isNumber(sizeString)) {
88 setSize(Integer.parseInt(sizeString));
89 }
90 }
91 } catch (RepositoryException e) {
92 throw new RuntimeException(e);
93 }
94
95 }
96
97
98
99
100
101
102 @Deprecated
103 private File initFile(NodeData nodedata) {
104 try {
105 return new File(MgnlContext.getJCRSession(nodedata.getHierarchyManager().getWorkspace().getName()).getNode(nodedata.getHandle()));
106 } catch (RepositoryException e) {
107 throw new RuntimeException(e);
108 }
109 }
110
111 public String getExtension() {
112 return extension;
113 }
114
115 public void setExtension(String extension) {
116 this.extension = extension;
117 }
118
119 public String getFileName() {
120 return fileName;
121 }
122
123 public void setFileName(String fileName) {
124 this.fileName = fileName;
125 }
126
127 public String getContentType() {
128 return contentType;
129 }
130
131 public void setContentType(String contentType) {
132 this.contentType = contentType;
133 }
134
135
136
137
138 @Deprecated
139 public String getNodeDataTemplate() {
140 throw new UnsupportedOperationException();
141 }
142
143
144
145
146 @Deprecated
147 public void setNodeDataTemplate(String nodeDataTemplate) {
148 throw new UnsupportedOperationException();
149 }
150
151 public int getSize() {
152 return size;
153 }
154
155 public void setSize(int size) {
156 this.size = size;
157 }
158
159 public Node getNode() {
160 return node;
161 }
162
163
164
165
166 @Deprecated
167 public NodeData getNodeData() {
168 try {
169 if (ContentUtil.asContent(node.getParent()).hasNodeData(node.getName())) {
170 return ContentUtil.asContent(node.getParent()).getNodeData(node.getName());
171 }
172 } catch (RepositoryException e) {
173
174 }
175 return null;
176 }
177
178
179
180
181 @Deprecated
182 public InputStream getStream() {
183 return getNodeData().getStream();
184 }
185 }