6 package org.sleuthkit.autopsy.filesearch;
8 import java.awt.event.ActionListener;
9 import java.util.ArrayList;
10 import java.util.HashSet;
11 import java.util.List;
13 import java.util.SortedSet;
14 import java.util.logging.Level;
16 import org.apache.tika.mime.MediaType;
17 import org.apache.tika.mime.MimeTypes;
26 private static final SortedSet<MediaType>
mediaTypes = MimeTypes.getDefaultMimeTypes().getMediaTypeRegistry().getTypes();
38 Set<String> fileTypesCollated =
new HashSet<>();
39 for (MediaType mediaType : mediaTypes) {
40 fileTypesCollated.add(mediaType.toString());
47 fileTypesCollated.addAll(userDefinedFileTypes);
50 logger.log(Level.SEVERE,
"Unable to get user defined file types", ex);
53 List<String> toSort =
new ArrayList<>(fileTypesCollated);
54 toSort.sort((String string1, String string2) -> {
55 int result = String.CASE_INSENSITIVE_ORDER.compare(string1, string2);
57 result = string1.compareTo(string2);
61 String[] mimeTypeArray =
new String[toSort.size()];
62 return toSort.toArray(mimeTypeArray);
65 List<String> getMimeTypesSelected() {
66 return this.
jList1.getSelectedValuesList();
69 boolean isSelected() {
78 @SuppressWarnings(
"unchecked")
83 jList1 =
new javax.swing.JList<String>();
85 jLabel1 =
new javax.swing.JLabel();
87 setMinimumSize(
new java.awt.Dimension(150, 150));
88 setPreferredSize(
new java.awt.Dimension(100, 100));
90 jList1.setModel(
new javax.swing.AbstractListModel<String>() {
91 String[] strings = getMimeTypeArray();
92 public int getSize() { return strings.length; }
93 public String getElementAt(
int i) {
return strings[i]; }
95 jList1.setMinimumSize(
new java.awt.Dimension(0, 200));
98 org.openide.awt.Mnemonics.setLocalizedText(
jCheckBox1,
org.openide.util.NbBundle.getMessage(
MimeTypePanel.class,
"MimeTypePanel.jCheckBox1.text"));
100 jLabel1.setFont(
new java.awt.Font(
"Tahoma", 0, 10));
101 org.openide.awt.Mnemonics.setLocalizedText(
jLabel1,
org.openide.util.NbBundle.getMessage(
MimeTypePanel.class,
"MimeTypePanel.jLabel1.text"));
103 javax.swing.GroupLayout layout =
new javax.swing.GroupLayout(
this);
104 this.setLayout(layout);
105 layout.setHorizontalGroup(
106 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
107 .addGroup(layout.createSequentialGroup()
109 .addGap(0, 0, Short.MAX_VALUE))
110 .addGroup(layout.createSequentialGroup()
112 .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
113 .addComponent(
jScrollPane1, javax.swing.GroupLayout.PREFERRED_SIZE, 0, Short.MAX_VALUE)
114 .addGroup(layout.createSequentialGroup()
115 .addComponent(
jLabel1, javax.swing.GroupLayout.PREFERRED_SIZE, 246, javax.swing.GroupLayout.PREFERRED_SIZE)
116 .addGap(0, 0, Short.MAX_VALUE)))
119 layout.setVerticalGroup(
120 layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
121 .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
123 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
124 .addComponent(
jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 106, Short.MAX_VALUE)
125 .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
135 private javax.swing.JList<String>
jList1;
static final Logger logger
javax.swing.JCheckBox jCheckBox1
javax.swing.JScrollPane jScrollPane1
javax.swing.JLabel jLabel1
String[] getMimeTypeArray()
javax.swing.JList< String > jList1
static final long serialVersionUID
static final SortedSet< MediaType > mediaTypes
synchronized static Logger getLogger(String name)
List< String > getUserDefinedTypes()