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.config;
35
36 import info.magnolia.jcr.node2bean.Node2BeanException;
37 import info.magnolia.jcr.node2bean.Node2BeanProcessor;
38 import info.magnolia.jcr.node2bean.TransformationState;
39 import info.magnolia.jcr.node2bean.impl.Node2BeanTransformerImpl;
40 import info.magnolia.objectfactory.ComponentProvider;
41 import info.magnolia.objectfactory.Components;
42 import info.magnolia.objectfactory.ObservedComponentFactory;
43 import info.magnolia.repository.RepositoryConstants;
44
45 import java.util.Map;
46
47 import javax.inject.Singleton;
48 import javax.jcr.Node;
49 import javax.jcr.RepositoryException;
50
51
52
53
54 @Singleton
55 public class ServerConfiguration {
56 private String defaultExtension;
57 private String defaultBaseUrl;
58 private String instanceUuid;
59 private boolean admin;
60 private boolean usageMetrics = true;
61
62 public String getDefaultExtension() {
63 return defaultExtension;
64 }
65
66 public void setDefaultExtension(String defaultExtension) {
67 this.defaultExtension = defaultExtension;
68 }
69
70 public String getDefaultBaseUrl() {
71 return defaultBaseUrl;
72 }
73
74 public void setDefaultBaseUrl(String defaultBaseUrl) {
75 this.defaultBaseUrl = defaultBaseUrl;
76 }
77
78
79 public String getInstanceUuid() {
80 return instanceUuid;
81 }
82
83 public void setInstanceUuid(String instanceUuid) {
84 this.instanceUuid = instanceUuid;
85 }
86
87 public boolean isAdmin() {
88 return admin;
89 }
90
91 public void setAdmin(boolean admin) {
92 this.admin = admin;
93 }
94
95 public boolean isUsageMetrics() {
96 return usageMetrics;
97 }
98
99 public void setUsageMetrics(boolean usageMetrics) {
100 this.usageMetrics = usageMetrics;
101 }
102
103
104
105
106 @Deprecated
107 public static ServerConfiguration getInstance() {
108 return Components.getSingleton(ServerConfiguration.class);
109 }
110
111
112
113
114 public static final class InstanceFactory extends ObservedComponentFactory<ServerConfiguration> {
115 public InstanceFactory() {
116 super(RepositoryConstants.CONFIG, "/server", ServerConfiguration.class);
117 }
118
119
120 @Override
121 protected ServerConfiguration transformNode(Node node) throws Node2BeanException, RepositoryException {
122 return (ServerConfiguration) Components.getComponent(Node2BeanProcessor.class).toBean(node, false, new Node2BeanTransformerImpl() {
123 @Override
124 public Object newBeanInstance(TransformationState state, Map properties, ComponentProvider componentProvider) {
125 return new ServerConfiguration();
126 }
127 }, Components.getComponentProvider());
128 }
129 }
130 }