1 package org.apache.directory.server.core.api;
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 import java.io.File;
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79 public class InstanceLayout extends AbstractLayout
80 {
81
82 private static final String LOG_DIR = "apacheds.log.dir";
83 private static final String RUN_DIR = "apacheds.run.dir";
84
85
86 public static final String LOG_NAME = "log";
87 public static final String RUN_NAME = "run";
88 public static final String CONF_NAME = "conf";
89 public static final String PARTITIONS_NAME = "partitions";
90 private static final String REPL_NAME = "syncrepl-data";
91 private static final String CACHE_NAME = "cache";
92
93
94 private static final String LOG4J_PROPERTIES = "log4j.properties";
95 private static final String WRAPPER_CONF = "wrapper.conf";
96 private static final String CONFIG_LDIF = "config.ldif";
97 private static final String KEYSTORE_FILE = "apacheds.ks";
98
99
100 private File logDir;
101
102
103 private File partitionsDir;
104
105
106 private File runDir;
107
108
109 private File confDir;
110
111
112 private File replDir;
113
114
115 private File cacheDir;
116
117
118
119
120
121
122
123 public InstanceLayout( File instanceDirectory )
124 {
125 super( instanceDirectory );
126 init();
127 }
128
129
130
131
132
133
134
135 public InstanceLayout( String instanceDirectoryPath )
136 {
137 super( instanceDirectoryPath );
138 init();
139 }
140
141
142
143
144
145 private void init()
146 {
147
148 File[] requiredDirectories = new File[]
149 {
150 getInstanceDirectory(),
151 getConfDirectory(),
152 getLogDirectory(),
153 getPartitionsDirectory(),
154 getRunDirectory(),
155 getCacheDirectory()
156 };
157
158 setRequiredDirectories( requiredDirectories );
159
160
161 File[] requiredFiles = new File[]
162 {
163 getWrapperConfigurationFile(),
164 getLogConfigurationFile()
165
166 };
167
168 setRequiredFiles( requiredFiles );
169 }
170
171
172
173
174
175
176
177 public File getConfDirectory()
178 {
179 if ( confDir == null )
180 {
181 confDir = new File( getInstanceDirectory(), CONF_NAME );
182 }
183
184 return confDir;
185 }
186
187
188
189
190
191 public void setConfDir( File confDir )
192 {
193 this.confDir = confDir;
194 }
195
196
197
198
199
200
201
202 public File getCacheDirectory()
203 {
204 if ( cacheDir == null )
205 {
206 cacheDir = new File( getInstanceDirectory(), CACHE_NAME );
207 }
208
209 return cacheDir;
210 }
211
212
213
214
215
216 public void setCacheDir( File cacheDir )
217 {
218 this.cacheDir = cacheDir;
219 }
220
221
222
223
224
225
226
227 public File getLogDirectory()
228 {
229 if ( logDir == null )
230 {
231 String systemLogDir = System.getProperty( LOG_DIR );
232
233 if ( systemLogDir != null )
234 {
235 logDir = new File( systemLogDir );
236 }
237 else
238 {
239 logDir = new File( getInstanceDirectory(), LOG_NAME );
240 }
241 }
242
243 return logDir;
244 }
245
246
247
248
249
250 public void setLogDir( File logDir )
251 {
252 this.logDir = logDir;
253 }
254
255
256
257
258
259
260
261 public File getPartitionsDirectory()
262 {
263 if ( partitionsDir == null )
264 {
265 partitionsDir = new File( getInstanceDirectory(), PARTITIONS_NAME );
266 }
267
268 return partitionsDir;
269 }
270
271
272
273
274
275 public void setPartitionsDir( File partitionsDir )
276 {
277 this.partitionsDir = partitionsDir;
278 }
279
280
281
282
283
284
285
286 public File getRunDirectory()
287 {
288 if ( runDir == null )
289 {
290 String systemRunDir = System.getProperty( RUN_DIR );
291
292 if ( systemRunDir != null )
293 {
294 runDir = new File( systemRunDir );
295 }
296 else
297 {
298 runDir = new File( getInstanceDirectory(), RUN_NAME );
299 }
300 }
301
302 return runDir;
303 }
304
305
306
307
308
309 public void setRunDir( File runDir )
310 {
311 this.runDir = runDir;
312 }
313
314
315
316
317
318
319
320 public File getInstanceDirectory()
321 {
322 return getDirectory();
323 }
324
325
326
327
328
329
330
331 public File getLogConfigurationFile()
332 {
333 return new File( getConfDirectory(), LOG4J_PROPERTIES );
334 }
335
336
337
338
339
340
341
342 public File getWrapperConfigurationFile()
343 {
344 return new File( getConfDirectory(), WRAPPER_CONF );
345 }
346
347
348
349
350
351
352
353 public File getApacheDsConfigurationLdifFile()
354 {
355 return new File( getConfDirectory(), CONFIG_LDIF );
356 }
357
358
359
360
361
362
363
364 public File getKeyStoreFile()
365 {
366 return new File( getConfDirectory(), KEYSTORE_FILE );
367 }
368
369
370
371
372
373
374
375
376 public File getReplDirectory()
377 {
378 if ( replDir == null )
379 {
380 replDir = new File( getInstanceDirectory(), REPL_NAME );
381 }
382
383 return replDir;
384 }
385
386
387
388
389
390
391
392 public void setReplDirectory( File replDir )
393 {
394 this.replDir = replDir;
395 }
396
397
398
399
400
401 public String toString()
402 {
403 return "Instance Layout: \n"
404 + " Instance dir : " + getInstanceDirectory() + "\n"
405 + " Instance conf dir : " + getConfDirectory() + "\n"
406 + " Instance log dir : " + getLogDirectory() + "\n"
407 + " Instance run dir : " + getRunDirectory() + "\n"
408 + " Instance partitions dir : " + getPartitionsDirectory() + "\n"
409 + " Instance replication data dir : " + getReplDirectory() + "\n"
410 + " Instance cache dir : " + getCacheDirectory() + "\n";
411 }
412 }