19 package org.sleuthkit.autopsy.keywordsearch;
21 import java.awt.Component;
24 import javax.swing.JOptionPane;
25 import org.openide.windows.WindowManager;
27 class KeywordSearchUtil {
42 public static String quoteQuery(String query) {
44 final int length = query.length();
45 if (length > 1 && query.charAt(0) ==
'"'
46 && query.charAt(length - 1) ==
'"') {
50 StringBuilder sb =
new StringBuilder();
51 sb.append(
"\"").append(query).append(
"\"");
64 public static String escapeLuceneQuery(String query) {
65 String queryEscaped = null;
66 String inputString = query.trim();
68 if (inputString.length() == 0) {
72 final String ESCAPE_CHARS =
"/+-&|!(){}[]^\"~*?:\\";
73 StringBuilder sb =
new StringBuilder();
74 final int length = inputString.length();
77 boolean quotedQuery =
false;
78 if (length > 1 && inputString.charAt(0) ==
'"' && inputString.charAt(length - 1) ==
'"') {
82 for (
int i = 0; i < length; ++i) {
83 final char c = inputString.charAt(i);
85 if (ESCAPE_CHARS.contains(Character.toString(c))) {
87 if (quotedQuery ==
false || (i > 0 && i < length - 1)) {
93 queryEscaped = inputString = sb.toString();
98 public static void displayDialog(
final String title,
final String message,
final DIALOG_MESSAGE_TYPE type) {
100 if (type == DIALOG_MESSAGE_TYPE.ERROR) {
101 messageType = JOptionPane.ERROR_MESSAGE;
102 }
else if (type == DIALOG_MESSAGE_TYPE.WARN) {
103 messageType = JOptionPane.WARNING_MESSAGE;
105 messageType = JOptionPane.INFORMATION_MESSAGE;
108 final Component parentComponent = WindowManager.getDefault().getMainWindow();
109 JOptionPane.showMessageDialog(
116 public static boolean displayConfirmDialog(
final String title,
final String message,
final DIALOG_MESSAGE_TYPE type) {
118 if (type == DIALOG_MESSAGE_TYPE.ERROR) {
119 messageType = JOptionPane.ERROR_MESSAGE;
120 }
else if (type == DIALOG_MESSAGE_TYPE.WARN) {
121 messageType = JOptionPane.WARNING_MESSAGE;
123 messageType = JOptionPane.INFORMATION_MESSAGE;
125 if (JOptionPane.showConfirmDialog(null, message, title, JOptionPane.YES_NO_OPTION, messageType) == JOptionPane.YES_OPTION) {
139 static boolean isXMLList(String absPath) {
141 return new File(absPath).getName().endsWith(
".xml");
synchronized static Logger getLogger(String name)