19 package org.sleuthkit.autopsy.keywordsearch;
21 import java.text.SimpleDateFormat;
22 import java.util.Date;
30 private final String indexPath;
31 private final String schemaVersion;
32 private final String solrVersion;
33 private final String indexName;
34 private static final String DEFAULT_CORE_NAME =
"text_index";
35 private final UNCPathUtilities uncPathUtilities =
new UNCPathUtilities();
48 Index(String indexPath, String solrVersion, String schemaVersion, String coreName, String caseName) {
49 this.indexPath = uncPathUtilities.convertPathToUNC(indexPath);
50 this.solrVersion = solrVersion;
51 this.schemaVersion = schemaVersion;
52 if (coreName == null || coreName.isEmpty()) {
54 coreName = createCoreName(caseName);
56 this.indexName = coreName;
66 private String createCoreName(String caseName) {
67 String coreName = sanitizeCoreName(caseName);
68 SimpleDateFormat dateFormat =
new SimpleDateFormat(
"yyyyMMdd_HHmmss");
69 Date date =
new Date();
70 return coreName +
"_" + dateFormat.format(date);
86 static private String sanitizeCoreName(String coreName) {
92 result = coreName.replaceAll(
"[^-.0-9A-Z_a-z]",
"_");
95 result = result.toLowerCase();
98 if (result.length() > 0 && (result.codePointAt(0) ==
'-')) {
99 result =
"_" + result;
102 if (result.isEmpty()) {
103 result = DEFAULT_CORE_NAME;
112 String getIndexPath() {
119 String getSchemaVersion() {
120 return schemaVersion;
126 String getSolrVersion() {
133 String getIndexName() {