package net.jscanner.ui.component.textfield;
import java.awt.event.ActionEvent;
import java.util.Enumeration;
import javax.swing.tree.DefaultMutableTreeNode;
import net.jscanner.ui.component.ComponentTextField;
import net.jscanner.ui.component.tree.ThreatTree;
import net.jscanner.ui.impl.SelectThreatsUI;
/**
* The search text field.
*
* @author Desmond Jackson
*/
public class SearchTextField extends ComponentTextField {
/**
* The serial uid.
*/
private static final long serialVersionUID = -2855961410568347755L;
@Override
public void actionPerformed(ActionEvent e) {
String text = getText();
ThreatTree threatTree = SelectThreatsUI.getInstance(this).getThreatTree();
Enumeration<?> children = ((DefaultMutableTreeNode) threatTree.getTreeModel().getRoot()).children();
while (children.hasMoreElements()) {
DefaultMutableTreeNode child = (DefaultMutableTreeNode) children.nextElement();
String name = child.getUserObject().toString();
if (text.endsWith(".class")) {
String clazz = text.split(".class")[0];
if (name.endsWith("/" + clazz)) {
threatTree.scrollRowToVisible(child.getRoot().getIndex(child) + 15);
return;
}
} else if (name.contains(text)) {
threatTree.scrollRowToVisible(child.getRoot().getIndex(child) + 15);
return;
}
}
}
}