From e1ec2b764ce74dd8214c20ba8c201ed6bfb6b2bf Mon Sep 17 00:00:00 2001 From: "U-BASIS\\dgrove" Date: Thu, 29 Mar 2018 15:30:13 -0400 Subject: [PATCH] Modified 'isValid()' to use NumberFormat. --- .../autopsy/filesearch/SizeSearchFilter.java | 32 +++++++++++++++---- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/Core/src/org/sleuthkit/autopsy/filesearch/SizeSearchFilter.java b/Core/src/org/sleuthkit/autopsy/filesearch/SizeSearchFilter.java index cf5d4f9e73..ff30916658 100644 --- a/Core/src/org/sleuthkit/autopsy/filesearch/SizeSearchFilter.java +++ b/Core/src/org/sleuthkit/autopsy/filesearch/SizeSearchFilter.java @@ -1,7 +1,7 @@ /* * Autopsy Forensic Browser * - * Copyright 2011 Basis Technology Corp. + * Copyright 2011-2018 Basis Technology Corp. * Contact: carrier sleuthkit org * * Licensed under the Apache License, Version 2.0 (the "License"); @@ -19,21 +19,31 @@ package org.sleuthkit.autopsy.filesearch; import java.awt.event.ActionListener; +import java.text.ParseException; +import java.util.Locale; import javax.swing.JComboBox; import org.openide.util.NbBundle; import org.openide.util.NbBundle.Messages; +import org.python.icu.text.NumberFormat; import org.sleuthkit.autopsy.filesearch.FileSearchFilter.FilterValidationException; /** - * - * @author pmartel + * Filter search size input. */ class SizeSearchFilter extends AbstractFileSearchFilter { + /** + * Instantiate a SizeSearchFilter object for a new SizeSearchPanel. + */ SizeSearchFilter() { this(new SizeSearchPanel()); } + /** + * Instantiate a SizeSearchFilter object for an existing SizeSearchPanel. + * + * @param component The SizeSearchPanel instance. + */ SizeSearchFilter(SizeSearchPanel component) { super(component); } @@ -53,6 +63,14 @@ class SizeSearchFilter extends AbstractFileSearchFilter { return "size " + operator + " " + size; //NON-NLS } + /** + * Get the comparison operator associated with the size comparison + * drop-down selection. + * + * @param compare The drop-down component. + * + * @return The operator. + */ private String compareComboBoxToOperator(JComboBox compare) { String compareSize = compare.getSelectedItem().toString(); @@ -75,20 +93,20 @@ class SizeSearchFilter extends AbstractFileSearchFilter { } @Override - @Messages ({ + @Messages({ "SizeSearchFilter.errorMessage.nonNegativeNumber=Input size data is a negative number.", "SizeSearchFilter.errorMessage.notANumber=Input size data is not a number." }) public boolean isValid() { String input = this.getComponent().getSizeTextField().getText(); - + try { - int inputInt = Integer.parseInt(input); + int inputInt = NumberFormat.getNumberInstance(Locale.US).parse(input).intValue(); if (inputInt < 0) { setLastError(Bundle.SizeSearchFilter_errorMessage_nonNegativeNumber()); return false; } - } catch (NumberFormatException | NullPointerException e) { + } catch (ParseException ex) { setLastError(Bundle.SizeSearchFilter_errorMessage_notANumber()); return false; }