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() {