1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.neo4j.server.configuration;
21
22 import static org.neo4j.server.ServerTestUtils.createTempDir;
23 import static org.neo4j.server.ServerTestUtils.writePropertyToFile;
24
25 import java.io.File;
26 import java.io.IOException;
27
28 public class DatabaseTuningPropertyFileBuilder {
29 private File parentDirectory = null;
30 private String mappedMemory = null;
31
32 public static DatabaseTuningPropertyFileBuilder builder() {
33 return new DatabaseTuningPropertyFileBuilder();
34 }
35
36 private DatabaseTuningPropertyFileBuilder() {}
37
38 public File build() throws IOException {
39 if(parentDirectory == null) {
40 parentDirectory = createTempDir();
41 }
42
43 File temporaryConfigFile = new File( parentDirectory, "neo4j.properties" );
44
45 if(mappedMemory == null) {
46 writePropertyToFile("neostore.nodestore.db.mapped_memory", "25M", temporaryConfigFile);
47 } else {
48 writePropertyToFile("neostore.nodestore.db.mapped_memory", mappedMemory, temporaryConfigFile);
49 }
50 writePropertyToFile("neostore.relationshipstore.db.mapped_memory", "50M", temporaryConfigFile);
51 writePropertyToFile("neostore.propertystore.db.mapped_memory", "90M", temporaryConfigFile);
52 writePropertyToFile("neostore.propertystore.db.strings.mapped_memory", "130M", temporaryConfigFile);
53 writePropertyToFile("neostore.propertystore.db.arrays.mapped_memory", "150M", temporaryConfigFile);
54
55 return temporaryConfigFile;
56 }
57
58 public DatabaseTuningPropertyFileBuilder inDirectory(File parentDirectory) {
59 this.parentDirectory = parentDirectory;
60 return this;
61 }
62
63 public DatabaseTuningPropertyFileBuilder mappedMemory(int i) {
64 this.mappedMemory = String.valueOf(i) + "M";
65 return this;
66 }
67
68 }