package org.zaproxy.zap.extension.alert;
import javax.swing.JMenuItem;
import org.apache.log4j.Logger;
import org.parosproxy.paros.control.Control;
import org.parosproxy.paros.core.scanner.Alert;
import org.parosproxy.paros.extension.ExtensionPopupMenuItem;
import org.parosproxy.paros.extension.history.ExtensionHistory;
public class PopupMenuShowAlert extends JMenuItem implements Comparable<PopupMenuShowAlert> {
private static final long serialVersionUID = 1L;
private ExtensionHistory extHist = null;
private Alert alert = null;
private static final Logger log = Logger.getLogger(ExtensionPopupMenuItem.class);
public PopupMenuShowAlert (String name, Alert alert) {
super(name);
this.alert = alert;
this.initialize();
}
private void initialize() {
this.addActionListener(new java.awt.event.ActionListener() {
@Override
public void actionPerformed(java.awt.event.ActionEvent e) {
try {
if (extHist == null) {
extHist = (ExtensionHistory) Control.getSingleton().getExtensionLoader().getExtension(ExtensionHistory.NAME);
}
if (extHist != null) {
extHist.showAlertAddDialog(alert);
}
} catch (Exception e2) {
log.error(e2.getMessage(), e2);
}
}
});
}
public Alert getAlert() {
return alert;
}
@Override
public int compareTo(PopupMenuShowAlert o) {
if (o == null) {
return -1;
}
// Negate the alert comparison so higher risks shown first
return - this.getAlert().compareTo(o.getAlert());
}
}