1 package net.sumaris.server.config;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 import org.nuiton.config.ConfigOptionDef;
26
27 import java.io.File;
28
29 import static org.nuiton.i18n.I18n.n;
30
31 public enum SumarisServerConfigurationOption implements ConfigOptionDef {
32
33 SERVER_PORT(
34 "server.port",
35 n("sumaris.config.option.server.port.description"),
36 "8080",
37 Integer.class,
38 false),
39
40 SERVER_HOST(
41 "server.host",
42 n("sumaris.config.option.server.host.description"),
43 "localhost",
44 String.class,
45 false),
46
47 SERVER_PROTOCOL(
48 "server.protocol",
49 n("sumaris.config.option.server.protocol.description"),
50 "http",
51 String.class,
52 false),
53
54 SERVER_URL(
55 "server.url",
56 n("sumaris.config.option.server.url.description"),
57 "${server.protocol}://${server.host}:${server.port}",
58 String.class,
59 false),
60
61 REGISTRATION_CONFIRM_URL(
62 "sumaris.server.account.register.confirm.url",
63 n("sumaris.config.option.server.account.register.confirm.url.description"),
64 "${server.url}/confirm/{email}/{code}",
65 String.class,
66 false),
67
68 ADMIN_MAIL(
69 "sumaris.server.admin.mail",
70 n("sumaris.config.option.server.admin.mail.description"),
71 "contact@sumaris.net",
72 String.class,
73 false),
74
75 KEYPAIR_SALT(
76 "sumaris.server.keypair.salt",
77 n("sumaris.config.option.server.keypair.salt.description"),
78 "abc",
79 String.class,
80 false),
81
82 KEYPAIR_PASSWORD(
83 "sumaris.server.keypair.password",
84 n("sumaris.config.option.server.keypair.password.description"),
85 "def",
86 String.class,
87 false),
88
89 MAIL_FROM(
90 "sumaris.mail.from",
91 n("sumaris.config.option.mail.from.description"),
92 "no-reply@sumaris.net",
93 String.class,
94 false),
95
96 AUTH_CHALLENGE_LIFE_TIME(
97 "sumaris.auth.challenge.lifeTime",
98 n("sumaris.config.option.auth.challenge.lifeTime.description"),
99 "120",
100 Integer.class,
101 false),
102
103 AUTH_TOKEN_LIFE_TIME(
104 "sumaris.auth.session.duration",
105 n("sumaris.config.option.auth.session.duration.description"),
106 "14400",
107 Integer.class,
108 false),
109
110 DOWNLOAD_DIRECTORY(
111 "sumaris.download.directory",
112 n("sumaris.config.option.download.directory.description"),
113 "${sumaris.data.directory}/download",
114 File.class),
115
116 SITE_FAVICON(
117 "sumaris.favicon",
118 n("sumaris.config.option.favicon.description"),
119 "${sumaris.site.url}/favicon.ico",
120 Integer.class,
121 false),
122
123 SITE_LOGO_SMALL(
124 "sumaris.logo",
125 n("sumaris.config.option.logo.description"),
126 "${sumaris.site.url}/assets/img/logo-menu.png",
127 Integer.class,
128 false),
129
130 LOGO_LARGE(
131 "sumaris.logo.large",
132 n("sumaris.config.option.logo.large.description"),
133 "${sumaris.site.logo}",
134 Integer.class,
135 false),
136
137 SITE_PARTNER_DEPARTMENTS(
138 "sumaris.partner.departments",
139 n("sumaris.config.option.partner.departments.description"),
140 "department:1",
141 String.class,
142 false),
143
144 SITE_BACKGROUND_IMAGES(
145 "sumaris.background.images",
146 n("sumaris.config.option.site.background.images.description"),
147 "1",
148 String.class,
149 false),
150
151 ;
152
153
154 private final String key;
155
156
157 private final String description;
158
159
160 private final Class<?> type;
161
162
163 private String defaultValue;
164
165
166 private boolean isTransient;
167
168
169 private boolean isFinal;
170
171 SumarisServerConfigurationOption(String key,
172 String description,
173 String defaultValue,
174 Class<?> type,
175 boolean isTransient) {
176 this.key = key;
177 this.description = description;
178 this.defaultValue = defaultValue;
179 this.type = type;
180 this.isTransient = isTransient;
181 this.isFinal = isTransient;
182 }
183
184 SumarisServerConfigurationOption(String key,
185 String description,
186 String defaultValue,
187 Class<?> type) {
188 this(key, description, defaultValue, type, true);
189 }
190
191
192 @Override
193 public String getKey() {
194 return key;
195 }
196
197
198 @Override
199 public Class<?> getType() {
200 return type;
201 }
202
203
204 @Override
205 public String getDescription() {
206 return description;
207 }
208
209
210 @Override
211 public String getDefaultValue() {
212 return defaultValue;
213 }
214
215
216 @Override
217 public boolean isTransient() {
218 return isTransient;
219 }
220
221
222 @Override
223 public boolean isFinal() {
224 return isFinal;
225 }
226
227
228 @Override
229 public void setDefaultValue(String defaultValue) {
230 this.defaultValue = defaultValue;
231 }
232
233
234 @Override
235 public void setTransient(boolean newValue) {
236
237 }
238
239
240 @Override
241 public void setFinal(boolean newValue) {
242
243 }
244
245 }